刚做完消息服务器的项目,项目是用c++开发的,没有引入现在c++的特性向智能指针,bind/function等。当时在开发的时候对其中一个bug印象比较深,bug原因是在session对象释放后,在其他地方继续的被使用。 对于临界资源加锁处理。对于多个线程共享的对象通过使 1. 有过多线程编程经验的
分类:
编程语言 时间:
2016-02-01 18:35:30
阅读次数:
124
内存池为boost自带的 #include <boost/pool/pool.hpp> 或者另外一个开源的库: nedmalloc 一个高效率的库 线程池需要下载另外一个开源库 http://www.cnblogs.com/TianFang/archive/2007/08/23/867350.htm
分类:
编程语言 时间:
2016-01-30 17:43:33
阅读次数:
177
我们先来解释一下什么叫智能指针?
智能指针是利用RAII(在对象的构造函数中执行资源的获取(指针的初始化),在析构函数中释放(delete 指针):这种技法把它称之为RAII(Resource Acquisition Is Initialization:资源获取即初始化))来管理资源。
其本质思想是:将堆对象的生存期用栈对象(智能指针)来管理。也就是当new一个堆对象的时候,立刻用智能指针来接...
分类:
其他好文 时间:
2016-01-30 13:57:03
阅读次数:
207
// vc下的智能指针,重点在于拥有权的转移#include using namespace std;templateclass Autoptr{public: Autoptr(int *p = NULL) :ptr(p), owns(ptr != NULL) {} Autoptr(const Au...
分类:
编程语言 时间:
2016-01-16 22:27:25
阅读次数:
230
最近在看一本书《boost程序库完全开发指南》,boost是一个强大的C++程序库,丰富了C++的功能和表现力,使得C++软件开发更加简洁、优雅、灵活和高效。因为之前使用Qt做了很多项目,我发现boost和Qt有很多相似之处,比如时间、智能指针、字符串处理、函数信号槽等,在Qt中最好还是用Qt中封装...
分类:
其他好文 时间:
2016-01-16 21:01:36
阅读次数:
183
C++中智能指针能够防止出现野指针、内存泄露等情况,智能指针的类中包括4个函数:构造函数、拷贝构造函数、重载复制操作符、析构函数。构造函数须要对引用计数和指针进行初始化,引用计数初始化为1,拷贝构造函数完毕对象之间的拷贝,要注意引用计数的变化和推断两个指针是否指向同样的内存。重载复制操作符。须...
分类:
其他好文 时间:
2016-01-10 13:02:07
阅读次数:
113
5.2 Smart Pointer(智能指针)shared_ptr的aliasing构造函数,接受一个shared pointer和一个raw pointer。它允许你掌握一个事实:某对象拥有另一个对象。例如:struct X{ int a;};shared_ptr px(new X);sh...
分类:
编程语言 时间:
2016-01-04 18:14:41
阅读次数:
158
lambda表达式是C++11新引入的东西,给我们带来了很多的方便,使得代码简洁明了。但是当我们把unique_ptr和lambda表达式结合的时候,错误就往往会出现,而且是致命的。直接看看下面的代码:#include "stdafx.h"
#include
#include
#include class Message {
public:...
分类:
编程语言 时间:
2015-12-28 22:08:58
阅读次数:
978
目录:1.std::share_ptr智能指针:2.std::tr1::function模板类:3.stringstream:4.set/vector/map:5.static_cast (expression);std::share_ptr智能指针:http://en.cppreference.c...
分类:
编程语言 时间:
2015-12-27 17:41:57
阅读次数:
292
unique_ptr的成员函数在上一篇博客中几乎全部涵盖,其实还有一个很有踢掉,即std::unique_ptr::get_deleter字面已经很明显了,就获得deleter:
Returns the stored deleterThe stored deleter is a callable object. A functional call to this object with a sin...
分类:
编程语言 时间:
2015-12-26 13:29:22
阅读次数:
491