
boost
Nex_Chin
Linux C++ 开发,移动通信数据相关
展开
-
boost::thread
最近学习使用boost::thread库,运行事例出现错误,内容大致是: undefined reference to `boost::thread::join()' undefined reference to `boost ::trhead::~thread()' ...... collect2: ld return 1 .......应该原创 2013-12-30 10:39:19 · 1033 阅读 · 0 评论 -
enable_shared_from_this
使用情景:当类对象被 shared_ptr 管理时,需要在类自己定义的函数里把当前类对象作为参数传给其他函数时,这时需要传递一个 shared_ptr ,否则就不能保持 shared_ptr 管理这个类对象的语义(因为有一个 raw pointer 指向这个类对象,而 shared_ptr 对类对象的这个引用没有计数,很有可能 shared_ptr 已经把类对象资源释放了,而那个调用函数还在使转载 2013-12-24 16:12:35 · 573 阅读 · 0 评论 -
boost中的noncopyable
继承noncopyable的类,不允许拷贝构造和赋值。省去了,每次手动把类的拷贝构造和赋值函数写在private下头文件: #inlucde class noncopyable { protected: noncopyable() {} ~noncopyable() {} private: // emphasize the following me转载 2013-12-18 16:54:44 · 657 阅读 · 0 评论 -
weak_ptr
循环引用:引用计数是一种便利的内存管理机制,但它有一个很大的缺点,那就是不能管理循环引用的对象。一个简单的例子如下:#include #include #include #include class parent;class children;typedef boost::shared_ptr parent_ptr;typedef boost::shared_转载 2013-12-19 10:21:20 · 672 阅读 · 0 评论 -
shared_ptr
shared_ptr头文件: "boost/shared_ptr.hpp"shared_ptr 可以从一个裸指针、另一个shared_ptr、一个std::auto_ptr、或者一个boost::weak_ptr构造。还可以传递第二个参数给shared_ptr的构造函数,它被称为删除器(deleter)。删除器稍后会被调用,来处理共享资源的释放。这对于管理那些不是用new分配也不是转载 2013-12-16 11:40:20 · 1141 阅读 · 0 评论 -
shared_ptr使用
1.get() 返回对象指针;use_count() 返回对象的引用计数#include #include class Foo{public: void print() { std::cout << " foo::print" << std::endl; }};/* When sp2 is created, sp1 increments th转载 2013-12-16 15:31:22 · 1758 阅读 · 0 评论 -
boost::thread总结
1. boost::mutex lock() 会一直等待,知道获得一个互斥体 unlock() 释放互斥体 try_lock() 不会等待,它只会在互斥体可用时才获得,否则返回false2. boost::timed_mutex timed_lock(time), 试图在一定时间内获得互斥体3. boost::lock_guard转载 2013-12-30 14:47:22 · 662 阅读 · 0 评论