const char*用于定义一个指向常量字符串的指针,通常形式为: const char* ptr = "hello"; 但可能很多粗心的朋友们没有注意到下面一种定义: const char* ptr2 = "hello"; ptr和ptr2指向的是同一片内存,即定义const char* pt....
分类:
其他好文 时间:
2014-11-03 16:06:28
阅读次数:
254
gcc从4.1.2提供了__sync_*系列的built-in函数,用于提供加减和逻辑运算的原子操作。其声明如下:// 返回运算之前的值,*ptr指向参加运算的值,value是第二个操作的值type__sync_fetch_and_add(type*ptr,typevalue,...)type__s...
分类:
其他好文 时间:
2014-11-02 19:31:16
阅读次数:
145
首先我们看看scoped_ptr的基本使用,包括了swap(),get(),reset()的使用,重要的提醒是作用域结束的时候会自己主动析构,无需手动的释放资源:#include#includeusing namespace std;using namespace boost;struct p...
分类:
其他好文 时间:
2014-11-02 12:14:47
阅读次数:
200
这段代码:__try{}__except(GetErrorCode()){} 可以捕获空指针,但是包围在其中的代码不能有自带析构函数的对象。c++ 11 标准里面的auto_ptr关键字,有此关键字的指针发生的异常能被try{}catch(...){} 捕获,但是VC不支持auto_...
分类:
编程语言 时间:
2014-11-01 00:55:19
阅读次数:
211
一. TcpServer类:
管理所有的TCP客户连接,TcpServer供用户直接使用,生命期由用户直接控制。用户只需设置好相应的回调函数(如消息处理messageCallback)然后TcpServer::start()即可。
主要数据成员:
boost::scoped_ptr acceptor_; 用来接受连接
std::map connections_; 用来存储所有连...
分类:
其他好文 时间:
2014-10-30 20:58:21
阅读次数:
185
关键字 typename在C++标准化过程中,引入关键字typename是为了说明;模板内部的标识符可以是一个类型。譬如下面的例子:templateclass MyClass{ typename T::SubType *ptr; ...}; 上面的程序中,第2个typename被用来说...
分类:
其他好文 时间:
2014-10-29 19:20:40
阅读次数:
187
shared_from_this()是enable_shared_from_this的成员 函数,返回shared_ptr。首先需要注意的是,这个函数仅在shared_ptr的构造函数被调用之后才能使 用。原因是enable_shared_from_this::weak_ptr并不在构造函数中设置,...
分类:
其他好文 时间:
2014-10-28 23:57:18
阅读次数:
276
container_of宏剖析//该宏位于include/linux/kernel.h1.定义格式/** * container_of - cast a member of a structure out to the containing structure * * @ptr: th...
分类:
其他好文 时间:
2014-10-28 19:33:33
阅读次数:
255
代码如下:#include
int main(void)
{
int a[5] = {1, 2, 3, 4, 5};
int *ptr = (int *)(&a+1);
int *p1 = a;
int *p2 = &a[0];
int *p3 = (int *)(&a);
if(p1 == p2){
printf("p1 == p2\n");
}else{
pr...
分类:
编程语言 时间:
2014-10-28 00:54:18
阅读次数:
165