这一节也比较简单,先假设我们有如下的函数:int foo();void memFoo(shared_ptr pw, int foo);现在假设我们要调用memFoo函数:memFoo(new W, foo());但是这样写编译是通不过的,我们可以改造为:memFoo(shared_ptr(new W...
分类:
其他好文 时间:
2014-11-17 17:11:22
阅读次数:
97
第一节 条款13中讲到“资源取得的时机便是初始化时机”并由此引出“以对象管理资源”的概念。通常情况下使用std中的auto_ptr(智能指针)和tr1::shared_ptr(引数智能指针)作为管理资源的对象。事实上,这种管理方法十分有效。但是,auto_ptr和tr1::shared_ptr只.....
分类:
其他好文 时间:
2014-11-17 15:25:48
阅读次数:
179
在看《Linux多线程服务端编程:使用muduo C++网络库》 的时候,在说到如何防止在将对象的 this 指针作为返回值返回给了调用者时可能会造成的 core dump。需使用enable_share_from_this。 首先要说明的一个问题是如何安全地将 this 指针返回给调用者。一般来....
分类:
其他好文 时间:
2014-11-15 18:49:55
阅读次数:
219
智能指针是为了便于管理动态内存,能够自动管理释放所指向的对象。智能指针共有三种:1、shared_ptr允许多个指针指向同一个对象;2、unique_ptr独占所指向的对象;3、weak_ptr是一个伴随类,它是一种弱引用,指向shared_ptr所管理的对象。这三种类型都定义在memory头文件中...
分类:
编程语言 时间:
2014-11-08 16:36:26
阅读次数:
169
shared_from_this()是enable_shared_from_this的成员 函数,返回shared_ptr。首先需要注意的是,这个函数仅在shared_ptr的构造函数被调用之后才能使 用。原因是enable_shared_from_this::weak_ptr并不在构造函数中设置,...
分类:
其他好文 时间:
2014-10-28 23:57:18
阅读次数:
276
1.boost库的shared_ptr智能指针在使用中遇到了一个需要注意的地方 1 typedef boost::shared_ptr APtr 2 class A 3 { 4 public: 5 void FunA() 6 { 7 m_pB->FunB1(APtr(...
分类:
其他好文 时间:
2014-10-11 20:26:26
阅读次数:
198
暂时使用boost 序列化, 目前我的测试基本都ok 只是对于c++11 shared ptr 没有测试成功,只能手工写下shared ptr 部分的序列化,也就是目前我对指针都不直接序列化,自己管理,例如下面样子
Load_(modelFile); //model直接序列化
string norm...
分类:
编程语言 时间:
2014-10-01 18:32:51
阅读次数:
217
weak_ptr是辅助shared_ptr的智能指针。就像它的名字一样,是个“弱”指针;仅有几个接口,仅能完成很少工作,来辅助shared_ptr...
分类:
其他好文 时间:
2014-09-29 22:38:41
阅读次数:
196
C++关于shared_ptr的总结。里面有一份简单的源码实现,有助于理解shared_ptr的实际原理。希望对大家有帮助。也欢迎批评指正。...
分类:
编程语言 时间:
2014-09-29 10:55:30
阅读次数:
188