确定没有其虚拟 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);
};