上一页 1 ··· 5 6 7 8 9
摘要: 一、创建一个线程创建线程 boost::thread myThread(threadFun); 需要注意的是:参数可以是函数对象或者函数指针。并且这个函数无参数,并返回void类型。 当一个thread执行完成时,这个子线程就会消失。注意这个线程对象不会消失,它仍然是一个还处在它的生存期的C++对象。同理,当对一个堆上的线程对象的指针调用delete时候,线程对象被销毁,操作系统的线程并不能保证就消失。放弃时间片 boost::thread::yield(); 当前线程放弃余下的时间片。等待一个线程 myThread.join(); 调用这个方法的线程进入wait状态,直到myThread代表 阅读全文
posted @ 2012-05-30 17:54 ghost&240 阅读(491) 评论(1) 推荐(0) 编辑
摘要: 在boost根目录寻找boosttrap.sh并执行 如果不能执行就修改属性chmod a+x ./boosttrap.shsudo ./bjam "-sTOOLS=gcc" "--includedir=/usr/include" "--libdir=/usr/lib/boost" installsudo ./bjam --toolset=gcc --includedir=/usr/local/include --libdir=/usr/local/lib/boost install装完之后要到boost根目录下的/libs/rege 阅读全文
posted @ 2012-05-30 17:49 ghost&240 阅读(287) 评论(0) 推荐(0) 编辑
摘要: Regex头文件: "boost/regex.hpp"正则表达式常用于对输入数据的格式进行验证。应用软件通常要求输入符合某种结构。考虑一个应用软件,它要求输入一定要符合如下格式,"3个数字, 一个单词, 任意字符, 2个数字或字符串"N/A," 一个空格, 然后重复第一个单词." 手工编写代码来验证这个输入既沉闷又容易出错,而且这些格式还很可能会改变;在你弄明白之前,可能就需要支持其它的格式,你精心编写的分析器可能就需要修改并重新调试。让我们写出一个可以验证这个输入的正则表达式。首先,我们需要一个匹配3个数字的表达式。对于数字,我们应 阅读全文
posted @ 2012-05-30 17:48 ghost&240 阅读(628) 评论(0) 推荐(0) 编辑
摘要: 使用protected可以保护不让生成对象,如A a;会编译错误,但可以A *a = new A;但此时如果delete a,也是会编译错误,所以总体来说还是错误的protected: virtual ~A() {}; shared_ptr不是线性安全的,因为存在一个引用计数.而intrusive_ptr是线性安全的,因为它要求我们自己写引用计数函数何时我们需要智能指针?有三种典型的情况适合使用智能指针: 资源所有权的共享 要写异常安全的代码时 避免常见的错误,如资源泄漏共享所有权是指两个或多个对象需要同时使用第三个对象的情况。这第三个对象应该如何(或者说何时)被释放?为了确保释放的时机是.. 阅读全文
posted @ 2012-05-30 17:47 ghost&240 阅读(322) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9