确定没有虚拟表指针的对象大小

时间:2015-02-10 14:21:02

标签: c++ sizeof memory-layout vptr

是否有一种通用方式(不依赖于平台)在编译时获取内存中类对象的大小,而不计算vtable指针?

2 个答案:

答案 0 :(得分:1)

在此sizeof上使用class,它不包括vtable指针的大小。

答案 1 :(得分:1)

正如您要求的便携式方式:

class MyClass
{
private:
  struct S 
  {
    DataMemberType1 dataMember1;
    ...
    DataMemberTypeN dataMemberN;
  } m;

public:
  static const size_t MemberSize = sizeof(S);
};