Posts Tagged ‘C++’

shared_ptr真能防止内存泄漏吗?

这个命题有些诡异,因为shared_ptr设计的初衷就是为了防止内存泄漏,但是先别急,等我把问题描述清楚.

事出缘由是这几天项目出现一个内存泄漏的bug,之前这部分是使用shared_ptr封装了很多指针的操作,后来出于效率的考虑,改回了裸指针.由于我们使用的google

全局定义结构体名称冲突导致的问题(C++)

上周项目代码中出现一个诡异的问题,我在某个数据结构中新增了一个string类型的成员变量,但是每次到了赋值的时候必然出现core dump.跟踪了好久,也猜想到应该是string的函数指针表之类的被破坏了,但是始终找不到原因.最后突然想到搜索代码中该结构体定义的地方,发现同时有两个.cc文件中都定义了该名字的结构体(其中一个也是这一次新增的),于是恍然大悟,应该是结构体的定义名称冲突导致的.

我将这段出错的代码,抽取出来写了个demo,放在

C/C++相关文章收集

1) 详解extern “C”

2) 重载,覆盖,和隐藏

3) Callback在C\C++中的实现

4) 解读google C++ code style谈对C++的理解