C++
文章平均质量分 53
量子人生
菜鸟起步,拼搏在成为技术大牛的道路上。各位大神多多提携
展开
-
在vs2008中检查MFC内存泄露
在最重要的或者是所有的cpp文件中添加以下语句:#ifdef _DEBUG#undef THIS_FILEstatic char THIS_FILE[]=__FILE__;#define new DEBUG_NEW#endif就能显示如下信息:e:/myprojects/myresearch/util/sparsematrix/sparsematrix.cpp(32) : {120328} normal block at 0x09CDA780, 24 bytes long. Data: 7A 18 0原创 2011-03-17 14:05:00 · 805 阅读 · 0 评论 -
浅谈C++中内存泄漏的检测
<br /><br />(转自http://blog.csdn.net/phinecos/archive/2009/10/29/4745720.aspx)<br />首先我们需要知道程序有没有内存泄露,然后定位到底是哪行代码出现内存泄露了,这样才能将其修复。<br />最简单的方法当然是借助于专业的检测工具,比较有名如BoundsCheck,功能非常强大,相信做C++开发的人都离不开它。此外就是不使用任何工具,而是自己来实现对内存泄露的监控,分如下两种情况:<br />一. 在 MFC 中检测内存泄漏<br转载 2011-03-17 14:54:00 · 436 阅读 · 0 评论 -
C++ 浅拷贝与深拷贝
<br />(转发自:http://edu.codepub.com/2011/0123/29025.php)对象的构造,也可以由拷贝构造函数完成,即用一个对象的内容去初始化另一个对象的内容。此时,若对象使用了堆空间(注意和“堆对象”区分),就有深、浅拷贝的问题,不清楚则很容易出错。1、什么是浅拷贝?2、浅拷贝可能带来什么问题?3、什么是深拷贝?4、深拷贝的实现方法?什么是浅拷贝缺省拷贝构造函数:用一个对象的内容初始化另一个同类对象,也称为缺省的按成员拷贝,不是对整个类对象的按位拷贝。这种拷贝称为浅拷贝。cl转载 2011-03-17 14:57:00 · 503 阅读 · 0 评论 -
显式调用析构函数发生内存泄漏问题
<br />下面的代码是矩阵类的一部分析构函数的语句,在稀疏矩阵的析构中显式调用了对象m_matrix的析构函数,开始看似没问题,但是程序执行后总是有内存泄露发生。//SparseMatrix中全局变量ccs_matrix*m_matrix;//析构函数SparseMatrix::~SparseMatrix(){if (this->m_matrix!=NULL){this->m_matrix->~ccs_matrix();//在这里主动调用了对象的析构函数}this->m_matrix = NULL;}原创 2011-03-17 14:59:00 · 929 阅读 · 0 评论