sizeof(int), sizeof(double)之类是在编译期就计算出来了的,怎样在编译期就能知道某个类的大小呢?且看下面:
class MyClass
{
// ...
};
要在编译期知道MyClass的大小,先写个辅助类,
template<int Size> class CalcSize;
随便在哪个CPP中写下一行 CalcSize<sizeof(MyClass)>();
再编译,就会有类似错误
error C2514: “CalcSize<Size>” : 类没有构造函数
with
[
Size=1
]
此时的Size=1就是MyClass的大小.
class MyClass
{
// ...
};
要在编译期知道MyClass的大小,先写个辅助类,
template<int Size> class CalcSize;
随便在哪个CPP中写下一行 CalcSize<sizeof(MyClass)>();
再编译,就会有类似错误
error C2514: “CalcSize<Size>” : 类没有构造函数
with
[
Size=1
]
此时的Size=1就是MyClass的大小.