【发布时间】:2011-12-16 06:14:53
【问题描述】:
我有一个类classX,想知道这个类的所有实例使用了多少内存。每个新实例都是使用new classX创建的
有没有办法在不修改源代码的情况下做到这一点(即使用 valgrind 之类的工具)?
以及我可以使用哪些方法通过修改源代码来做到这一点(我不能修改每个实例的创建,但可以修改类本身)。
我能想到的唯一方法就是重载 new 运算符(但我不知道如何从那里调用原始的 new 运算符)!
【问题讨论】:
-
如果
classX拥有(即包含指向)某个其他类的对象,您是否希望该对象占用的内存计入classX实例的总数?跨度> -
不,我只是想要 (#instances)*(sizeof(classX))
标签: c++ memory memory-management new-operator