我有一个应用程序在C++中,我想实现基本的内存分析功能。编程基本的应用程序内存分析:如何计算创建的指针?
对于最重要和耗费内存的类,我在构造函数,复制构造函数和析构函数中包含一些代码,用于计算和保存类的每个实例使用的内存量(代码仅在宏# MEMPROFILE的定义是这样的:。
class MyClass
{
MyClass(){
#ifdef MEMPROFILE
calcAndSaveMemUsage();
#endif
}
...
}
类似地,析构函数相应地更新计数器这样,每当分析宏定义一个新的实例一样MyClass obj
创建,内存消耗信息自动处理
有没有办法自动在指针上做类似的事情 - 无论是一般的,还是特定类的指针?对于实例,每次创建指针时自动增加一个计数器?
我想了解更多关于实现这一点的任何方法,无论是重载,包装还是仪器。 PS:我知道可以帮助我剖析记忆的外部工具。我有兴趣了解上面提到的特定事物。
如何重载'new'和'new []'运算符? –
也许不是你要找的东西,但是你可以使用'std :: shared_ptr'然后使用它的'use_count()'方法 – aguadoe