这里以一个智能指针类为例,智能指针所指为一个对象。而事实上,STL迭代器的开发均需要重载这两个操作符,上一篇文章分析STL 迭代器中除了要用到template技巧外,还需要重载技巧 1 #include 2 using namespace std; 3 class Screen 4 { 5 ...
分类:
其他好文 时间:
2014-08-10 23:59:30
阅读次数:
532
发送端#include "DBProc1.h"#include #include #include using namespace boost::interprocess;PLUG_COMPONENT_AUTO_REG(DBProc1)//DO NOT EDIT THISstruct MyStruc...
分类:
其他好文 时间:
2014-08-10 15:29:30
阅读次数:
289
内存管理一直是令C++程序员最头疼的工作,C++继承了C那高效而又灵活的指针,使用起来稍微不小心就会导致内存泄露、野指针、越界访问等访问。虽然C++标准提供了只能指针std::auto_ptr,但是并没有解决所有问题。boost的smart_ptr库是对C++98标准的绝佳补充。它提供了六种智能.....
分类:
其他好文 时间:
2014-08-09 18:41:18
阅读次数:
386
【转】学了一段时间Lua,显然直接在项目中使用是很不方便,google了一下,似乎大家都对luabind这个lua包装类青睐有加,于是我也随大势想用用看。 先做好准备工作,下载了luabin 0.8.1源码,Boost 1.3.8源码和lua 5.1.4源码,编译环境是VS2008 SP1。之前在网...
分类:
其他好文 时间:
2014-08-09 15:47:18
阅读次数:
246
Echo网络库概要说明源码分析使用方法概要说明Echo借鉴了大量muduo的代码,并对其进行简化。Echo体现了现代C++两大风格,一是事件回调,我们使用function/bind实现回调机制,用户只需要向其注册回调函数即可,必要时可以封装成class,二是采用智能指针进行资源管理,例如TcpCon...
分类:
其他好文 时间:
2014-08-08 20:47:26
阅读次数:
285
以下实现没有考虑线程安全的问题。智能指针:它的一种通用实现方法是采用引用计数的方法。智能指针将一个计数器与类指向的对象相关联,引用计数跟踪共有多少个类对象共享同一指针。 每次创建类的新对象时,初始化指针并将引用计数置为1;当对象作为另一对象的副本而创建时,拷贝构造函数拷贝指针并增加与之相应的引用计....
分类:
其他好文 时间:
2014-08-08 17:31:36
阅读次数:
262
boost::shared_ptr是可以共享所有权的智能指针。下面用例子说明:1 #include 2 #include 3 #include 4 5 using namespace std; 6 7 class Test 8 { 9 public:10 Test()11 {cout p...
分类:
其他好文 时间:
2014-08-08 01:51:05
阅读次数:
306
STL中的set和map是有序容器,使用时如果希望根据自己的需要来设定排序器,通常有一下两种方式。
1.如果容器中直接存储对象的话,那么我们可以在对象类中重载
2.如果存储的不是直接对象的话比如对象的指针(通常为智能指针),这个时候我们就要定义自己的比较器。而比较器的写法一般有两种。
->1.类内重载函数调用运算符的方法。
->2.以函数的方式提供比较器。
对于第一种方法是非...
分类:
其他好文 时间:
2014-08-07 23:14:55
阅读次数:
277
#include #include #include #include #include using namespace boost::uuids;using namespace std;int main(){ //------------------------- // 一些std函数的应用 //...
分类:
其他好文 时间:
2014-08-07 15:38:50
阅读次数:
235
uuid:uuid库是一个小的使用工具,可以表示和生成UUIDUUID是University Unique Identifier的缩写,它是一个128位的数字(16字节),不需要有一个中央认证机构就可以创建全国唯一的标示符。别名:GUIDuuid位于名字空间boost::uuisd,没有集中的头文件...
分类:
其他好文 时间:
2014-08-07 15:38:30
阅读次数:
259