我们可以做这样的事情:
#include <iostream>
class Foo
{
public:
Foo() { std::cout << sizeof(*this) << '\n'; }
};
在 C 标准中,我看到以下内容:
ISO/IEC 9899:2011
6.7.2.1 结构和联合说明符
8 ... 直到终止列表的 } 之后,类型才不完整,然后完成。
但在 C++ 标准中我找不到任何类似物。
sizeof 运算符不能应用于类型不完整的表达式,那么我们是否可以编写这样的代码?