(一)
上一条款说的auto_ptr和tr1::share_ptr适合于heap-based的资源,然而并不是所有资源都是heap-based的。换句话说并不是tr1::shared_ptr 和 auto_ptr 永远适合做为资源的管理者。所以有时难免还是需要实现自己的资源管理类型。
假设Mutex类型通过lock和unlock两组函数进行互斥器的锁定和解锁,可能我们希望和auto_ptr一样...
分类:
编程语言 时间:
2014-06-19 10:22:06
阅读次数:
302
通常情况下我们在连接 OpenSSH服务器的时候假如 UseDNS选项是打开的话,服务器会先根据客户端的 IP地址进行 DNS PTR反向查询出客户端的主机名,然后根据查询出的客户端主机名进行DNS正向A记录查询,并验证是否与原始 IP地址一致,通过此种措施来防止客户端欺骗。平时我们都是动态 IP不...
sprintf(vFilter->szOverLay,"movie=%s[wm];[in][wm]overlay=%d:%d[out]",szOverlay,x,y);当szOverlay = “d:\\xxx\xxx.png”; 时返回-2,貌似ffmpeg处理不了路径中的冒号。。。用当前路径下的...
分类:
其他好文 时间:
2014-06-18 19:04:31
阅读次数:
1066
一.boost::thread的创建 1.线程创建方法一: boost::shared_ptr writeThread_; boost::function0 f = boost::bind(&DBTaskMgr::execute, this); writeThread_ = bo...
分类:
编程语言 时间:
2014-06-18 08:16:15
阅读次数:
283
1. auto_ptr 的设计动机:函数操作经常依照下列模式进行:获取一些资源执行一些动作释放所获取的资源那么面对这些资源的释放问题就会出现下面的两种情况:一开始获得的资源被绑定于局部对象,那么当函数退出的时候,这些局部对象的析构函数被自动的调用,从而自动释放掉这些资源;一开始获得的资源是通过某种显...
分类:
编程语言 时间:
2014-06-16 13:43:39
阅读次数:
351
(一)
下面代码:
tr1::shared_ptr pInv(createInvestment());
int daysHeld(const Investment* pi);
我们要调用daysHeld函数的话,就必须传递一个Investment指针,但是我们现在只有pInv对象,所以我们需要一个函数可将RAII class(本例为tr1::shared_ptr)对象转换为其所内含之原始资...
分类:
编程语言 时间:
2014-06-16 11:55:57
阅读次数:
250
(一)
假设有下面这两个函数:
int priority();
void processWidget(tr1::shared_ptr pw, int priority);
现在这样调用它:
processWidget(new Widget, priority());
但是!上面这种调用不能通过编译,因为tr1::shared_ptr构造函数需要一个原始指针,但是,这个构造函数是expl...
分类:
编程语言 时间:
2014-06-16 11:31:09
阅读次数:
296
Boost智能指针——scoped_ptrboost::scoped_ptr和std::auto_ptr非常类似,是一个简单的智能指针,它能够保证在离开作用域后对象被自动释放。下列代码演示了该指针的基本应用:#include
#include #include class imple...
分类:
其他好文 时间:
2014-06-13 14:42:54
阅读次数:
299
一、boost库分类:(1)不需要编译库:any、array、asio、conversion、crc、bind/mem_fn、enable_if、function、lambda、mpl、smart_ptr...(2)需要编译的库:date_time、filesystem、function_types...