
C++
文章平均质量分 96
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 评论 -
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 评论 -
C++11 动态内存管理
http://en.cppreference.com/w/cpp/memory转载 2014-11-11 17:09:52 · 2340 阅读 · 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 评论 -
单例模式
摘自:http://blog.youkuaiyun.com/boyxiaolong/article/details/6645681最近读了读设计模式,取其精华,留作备用。直接看一个单例的类:class Singleton{public: static Singleton &GetInstance() { static Singleton instance;转载 2014-02-20 11:53:12 · 626 阅读 · 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 评论 -
gcc 的部分优化选项
http://blog.sina.com.cn/s/blog_598cd86701009u3o.htmlCFLAGS 与 CXXFLAGSCFLAGS 表示用于 C 编译器的选项,CXXFLAGS 表示用于 C++ 编译器的选项。这两个变量实际上涵盖了编译和汇编两个步骤。大多数程序和库在编译时默认的优化级别是"2"(使用"-O2"选项)并且带有调试符号来编译,也就是 CFLAGS="-转载 2014-01-10 11:45:52 · 1582 阅读 · 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 评论 -
boost中的noncopyable
继承noncopyable的类,不允许拷贝构造和赋值。省去了,每次手动把类的拷贝构造和赋值函数写在private下头文件: #inlucde class noncopyable { protected: noncopyable() {} ~noncopyable() {} private: // emphasize the following me转载 2013-12-18 16:54:44 · 657 阅读 · 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 评论 -
C++利用boost::bind实现“委托”
作者:朱之光C#中的委托有两种绑定方式:1、绑定到类方法2、绑定到静态类方法绑定到静态方法很容易,用一个函数指针就可以实现;而绑定到类方法,就需要考虑传递一个对象实例的参数。利用boost::bind可以很容易的实现这两类绑定,从而实现类似“委托”执行机制。#include #include #define DELEGATE_DECLARE(name, sig转载 2013-12-17 11:34:02 · 1446 阅读 · 0 评论