确定没有其虚拟 table 指针的对象的大小
Determine the size of object without its virtual table pointers
是否有一种通用方法(不依赖于平台)在编译时获取内存中 class 对象的大小,而不计算 vtable 指针?
在此 class
上使用 sizeof
,它不包括 vtable
的大小,仅包括指针。
如你所求的便携方式:
class MyClass
{
private:
struct S
{
DataMemberType1 dataMember1;
...
DataMemberTypeN dataMemberN;
} m;
public:
static const size_t MemberSize = sizeof(S);
};
是否有一种通用方法(不依赖于平台)在编译时获取内存中 class 对象的大小,而不计算 vtable 指针?
在此 class
上使用 sizeof
,它不包括 vtable
的大小,仅包括指针。
如你所求的便携方式:
class MyClass
{
private:
struct S
{
DataMemberType1 dataMember1;
...
DataMemberTypeN dataMemberN;
} m;
public:
static const size_t MemberSize = sizeof(S);
};