参考http://blog.csdn.net/calmreason/article/details/50903729 所有产品继承同一基本类 由工厂保存基类指针 产生各类产品 代码 // 002.cpp: 定义控制台应用程序的入口点。 // #include "stdafx.h" #include ...
分类:
其他好文 时间:
2017-08-31 11:00:45
阅读次数:
247
在资源管理器中小心copying行为 上节是对资源的管理说明。有时候我们不能依赖于shared_ptr或者auto_ptr,所以我们须要自己建立一个资源管理类来管理自己的资源。 比如建立一个类来管理Mutex锁。如今使用函数处理类型为Mutex的相互排斥器对象 class Lock{ public: ...
分类:
编程语言 时间:
2017-08-13 12:34:59
阅读次数:
133
#include<boost\shared_ptr.hpp>尽量不要使用\,而是使用/,这样子方面移植代码到Linux环境下代码如下:#include"stdafx.h"#include<iostream>#include<fstream>#include<string>usingnamespacestd;int_tmain(intargc,_TCHAR*argv[]){charutfBuffer[25..
以独立语句将newed对象置入智能指针 本节我们须要学习的知识核心是注意编译器在同一语句中,调用次序具有不确定性,不同语句中,调用次序确定。 上面的话什么意思? 请看下面代码: int priority(); int processWidget(shared_ptr<Widget> pw, int ...
分类:
编程语言 时间:
2017-07-30 17:07:57
阅读次数:
116
版权声明:本文为博主原创文章,未经博主允许不得转载。 shared_ptr智能指针的一种,它的使用类似于auto_ptr. shared_ptr它有两个指针,一个指向引用计数,一个指向data.由于拥有引用计数,所有shared_ptr支持容器. shared_ptr的源码非常复杂这里也不做太多讲解 ...
分类:
其他好文 时间:
2017-07-28 00:23:10
阅读次数:
178
stl中auto_ptr,unique_ptr,shared_ptr,weak_ptr四种智能指针的使用总结 (1)auto_ptr 主要用于解决资源自动释放的问题。防止用户忘记delete掉new申请的内存空间。使用auto_ptr会在离开变量的作用域之后直接调用析构函数进行资源释放。 但是,这是 ...
分类:
其他好文 时间:
2017-07-22 16:50:12
阅读次数:
713
1 template 2 inline std::shared_ptr strcat(const char (&p1)[N], const char (&p2)[M]) 3 { 4 std::shared_ptr s1(new char[N]); 5 char s2[M]; 6 std::strcp... ...
分类:
编程语言 时间:
2017-07-21 14:14:58
阅读次数:
190
weak_ptr是辅助shared_ptr的智能指针。就像它的名字一样。是个“弱”指针;仅有几个接口。仅能完毕非常少工作。它能够从一个shared_ptr或weak_ptr对象构造。获取对资源的观測权。它是没有共享资源的,所以它的对象的创建不会引起指针引用计数的添加,它的对象的析构也不会引起计数器的 ...
分类:
其他好文 时间:
2017-07-17 13:16:50
阅读次数:
257
any是一种特殊的容器,它只能容纳一个元素,但这个元素可以是任意类型; 可以用any保存任何类型,在任何需要的时候取出它; 这种功能和shared_ptr<void>类似,但是any是类型安全的; any不是一个模板类,但是其有模板构造函数,从而实现任意类型; 空的any构造函数创建一个空的any对 ...
分类:
其他好文 时间:
2017-07-11 11:21:11
阅读次数:
193
1shared_ptr不明确的符号boost的一些库,比如share_ptr已经被高版本的stl采纳了.如果你一块儿用编译器当然搞不清你要用那个了.我想你肯定写了这样的东西usingnamespacestd;usingnamespacetr1;usingnamespaceboost;实际上两个智能指针是一样的,你只需要用一个即可.如果你一定要两..
分类:
其他好文 时间:
2017-07-10 16:41:50
阅读次数:
200