码迷,mamicode.com
首页 >  
搜索关键字:5 c++ boost 智能指针    ( 2698个结果
使用Boost Regex 的regex_search进行遍历搜索
在regex_search函数中,会将找到的第一个匹配结果保存到一个smatch类中。 然而如果搜索字符串中有多个匹配结果,则需要自己实现了。 在smatch中,有两个成员,官方文档如下: iterator first: An iterator denoting the position of the start of the match. iterator second An ite...
分类:其他好文   时间:2014-10-10 19:25:14    阅读次数:180
Boost.Asio c++ 网络编程翻译(12)
异步run(), run_one(), poll(), poll_ one() 为了实现监听循环,io_service类提供了4个方法,比如:run(), run_one(), poll()和poll_one()。当大部分时间你使用service.run()就可以。你会在这里学习到其他方法完成了什么。...
分类:编程语言   时间:2014-10-10 19:22:04    阅读次数:165
C++学习之路: 智能指针入门
引言: 编写智能指针的要点:a) 构造函数接收堆内存b) 析构函数释放内存c) 必要时要禁止值语义。d) 重载*与->两个操作符 1 #ifndef START_PTR_H 2 #define START_PTR_H 3 4 #include 5 using namespace std; 6 ...
分类:编程语言   时间:2014-10-10 03:17:04    阅读次数:211
Boost.Asio c++ 网络编程翻译(11)
*_at方法 这些方法在一个流上面做随机存取操作。你来指定read和write操作从什么地方开始(offset)...
分类:编程语言   时间:2014-10-09 17:11:48    阅读次数:241
C++——几种简单的智能指针
最简单的智能指针就是将指针封装在类里,同时将该类的复制与赋值禁用,也就是使该类失去值语义。实现代码如下: 1 #ifndef SMART_PTR_H 2 #define SMART_PTR_H 3 #include 4 5 6 template 7 class SmartPtr 8 { 9 ...
分类:编程语言   时间:2014-10-09 01:07:37    阅读次数:327
Linux组件封装(四)使用RAII技术实现MutexLock自动化解锁
我们不止一次写过这种代码: { mutex_.lock(); //XXX if(....) return; //XXX mutex_.unlock(); } 显然,这段代码中我们忘记了解锁。那么如何防止这种情况,我们采用和智能指针相同的策略,把加锁和解锁的过程封装在一个对象中。 实现“对象生命期”等...
分类:系统相关   时间:2014-10-07 21:53:24    阅读次数:215
Boost库
Boost库是为C++语言标准库提供扩展的一些C++程序库的总称。Boost库由Boost社区组织开发、维护。其目的是为C++程序员提供免费、同行审查的、可移植的程序库。Boost库可以与C++标准库完美共同工作,并且为其提供扩展功能。Boost库使用Boost License来授权使用,根据该.....
分类:其他好文   时间:2014-10-05 14:39:08    阅读次数:278
gcc内置原子操作函数
最近在用户态下突然需要用到原子变量,又不想自己编译boost,思来索去,无意中竟发现gcc还有这一组内置函数. //先做操作,再返回变化后的值 type?__sync_fetch_and_add?(type?*ptr,?type?value); typ...
分类:其他好文   时间:2014-10-03 15:11:55    阅读次数:191
C++学习之模板应用 ---array、smartptr、stack
有array(数组)、smartptr(智能指针)、stack(栈);一、array:1、我们实现了指针访问和下标访问。C++中指针访问常用迭代器来代替。2、这里我们也揭示了 size_type、iterator、[] 、begin()、end()、size()的真实面目;Array.hpp 1 #...
分类:编程语言   时间:2014-10-02 02:02:52    阅读次数:292
C++11的一些特性
1.断言是将一个需要为真的表达式放在语句中,在debug模式下检查一些逻辑错误的参数,C++中使用assert需要使用或者头文件。有函数定义如下: voidfun(int a[],int n) { assert(n>0); //dosomething; } 这样就可以检查n的情况,如果遇到这种情况,程序会调用abort()函数而终止。 C++11提供了static_assert断言,...
分类:编程语言   时间:2014-10-02 01:46:02    阅读次数:258
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!