码迷,mamicode.com
首页 >  
搜索关键字:ptr    ( 2121个结果
详解Boost库智能指针(shared_ptr && scoped_ptr && weak_ptr )
我们先来解释一下什么叫智能指针? 智能指针是利用RAII(在对象的构造函数中执行资源的获取(指针的初始化),在析构函数中释放(delete 指针):这种技法把它称之为RAII(Resource Acquisition Is Initialization:资源获取即初始化))来管理资源。 其本质思想是:将堆对象的生存期用栈对象(智能指针)来管理。也就是当new一个堆对象的时候,立刻用智能指针来接...
分类:其他好文   时间:2016-01-30 13:57:03    阅读次数:207
指针数组与数组指针的区别
指针数组在C语言和C++语言中,数组元素全为指针的数组称为指针数组。一维指针数组的定义形式为:“类型名*数组标识符[数组长度]”。例如,一个一维指针数组的定义:int*ptr_array[10]。含义指针数组中的每一个元素均为指针,即有诸形如“*ptr_array[i]”的指针。指针数组中的元..
分类:编程语言   时间:2016-01-22 03:22:34    阅读次数:210
处理类型(typedef,uisng,auto,decltype)
一:类型别名是一个名字,它是某种类型的定价。有两种方法定义类型别名: 1.使用typedef关键字,如: typedef int *Int_Ptr Int_Ptr p=nullptr; //Int_Ptr是一个int指针类型,这里定义了一个int型指针P 2.使...
分类:其他好文   时间:2016-01-17 20:12:31    阅读次数:302
【c++】智能指针
// vc下的智能指针,重点在于拥有权的转移#include using namespace std;templateclass Autoptr{public: Autoptr(int *p = NULL) :ptr(p), owns(ptr != NULL) {} Autoptr(const Au...
分类:编程语言   时间:2016-01-16 22:27:25    阅读次数:230
“野指针”的形成原因
“野指针”不是NULL指针,是指向垃圾内存的指针。使用if(ptr != NULL)并不能起到防错的作用“野指针”的成因主要有三种: #1 指针变量没有被初始化。 #2 指针ptr被free或delete之后,没有置为NULL,让人误以为ptr是个合法的指针。 #3 指针操作超越了变量的作用范围。源...
分类:其他好文   时间:2016-01-14 15:43:31    阅读次数:173
The C++ Standard Library --- A Tutorial Reference 读书笔记
5.2 Smart Pointer(智能指针)shared_ptr的aliasing构造函数,接受一个shared pointer和一个raw pointer。它允许你掌握一个事实:某对象拥有另一个对象。例如:struct X{ int a;};shared_ptr px(new X);sh...
分类:编程语言   时间:2016-01-04 18:14:41    阅读次数:158
Const *ptr ptr
1. const int *ptr = NULL; int const *ptr = NULL;1) 表示指向符号常量的指针变量,指针变量本身并非const所以可以指向其他变量。2) const 的作用可以看作是“禁止通过*ptr"来改变被ptr指向的变量的值,但被指向的变量 其本身能否改变需要看....
分类:其他好文   时间:2016-01-03 17:02:19    阅读次数:131
内存泄漏+适配器+多态
//#pragmaonce //#include<iostream> //#include<string> //Singleton.hpp //#include<list> //#include<assert.h> //#include<stdarg.h> //usingnamespacestd; //structBlockInfo //{ // void*_ptr; // string_file; // int_line; // BlockInfo..
分类:其他好文   时间:2015-12-29 17:49:02    阅读次数:220
单例模式
//#pragmaonce //#include<iostream> //#include<string> //#include<list> //#include<assert.h> //usingnamespacestd; //structBlockInfo //{ // void*_ptr; // string_file; // int_line; // BlockInfo(void*ptr,constchar*file,intline) // :_ptr..
分类:其他好文   时间:2015-12-29 06:28:02    阅读次数:205
实战c++中的智能指针unique_ptr系列-- unique_ptr与lambda的错误结合(尤其是捕获lambda中的unique_ptr)
lambda表达式是C++11新引入的东西,给我们带来了很多的方便,使得代码简洁明了。但是当我们把unique_ptr和lambda表达式结合的时候,错误就往往会出现,而且是致命的。直接看看下面的代码:#include "stdafx.h" #include #include #include class Message { public:...
分类:编程语言   时间:2015-12-28 22:08:58    阅读次数:978
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!