牛骨文教育服务平台(让学习变的简单)
博文笔记

编译时知道sizeof的大小

创建时间:2007-03-21 投稿人: 浏览次数:98
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的大小.
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。