c++ 中 class 实例的大小
Size of instance of class in c++
我正在尝试找到一种正确的方法来测量 C++ 中对象的大小。因为以前我使用 Java 我总是使用 the following library 它递归地迭代对象的引用并计算以 KB 或 MB 为单位的大小。我还看到有可能使用 sizeof,但是,这不适合我,因为对于一个对象,它 returns 总是相同的大小,无论存储在其中的数据如何。您能否提供一些信息或一个库来测量对象的大小以进行性能测试,或者如果我误认为 C++ 中的 sizeof 可以向我解释一下?
编辑:
我正在尝试测量 class 实例的大小。
我正在测量一个包含数组的 class 实例。无论数组的大小如何,sizeof 运算符 returns 的结果都是 24。我正在尝试比较两种方法和两种类型的结构,并报告与第二种结构相比节省的大小,或者实际比较哪种方法导致更大的大小。
在 C++ 中没有通用的方法来获取一个对象的总内存使用量,包括动态分配的内存(考虑两个对象,它们都有一个指向同一个第三个对象的指针。第三个对象应该被计算两次吗? ).
如果您希望跟踪应用程序中的内存使用情况,那么您可以覆盖 operator new
and/or 创建您自己的分配器以用于 STL 函数。
我正在尝试找到一种正确的方法来测量 C++ 中对象的大小。因为以前我使用 Java 我总是使用 the following library 它递归地迭代对象的引用并计算以 KB 或 MB 为单位的大小。我还看到有可能使用 sizeof,但是,这不适合我,因为对于一个对象,它 returns 总是相同的大小,无论存储在其中的数据如何。您能否提供一些信息或一个库来测量对象的大小以进行性能测试,或者如果我误认为 C++ 中的 sizeof 可以向我解释一下?
编辑: 我正在尝试测量 class 实例的大小。 我正在测量一个包含数组的 class 实例。无论数组的大小如何,sizeof 运算符 returns 的结果都是 24。我正在尝试比较两种方法和两种类型的结构,并报告与第二种结构相比节省的大小,或者实际比较哪种方法导致更大的大小。
在 C++ 中没有通用的方法来获取一个对象的总内存使用量,包括动态分配的内存(考虑两个对象,它们都有一个指向同一个第三个对象的指针。第三个对象应该被计算两次吗? ).
如果您希望跟踪应用程序中的内存使用情况,那么您可以覆盖 operator new
and/or 创建您自己的分配器以用于 STL 函数。