C++

【剑指offer】C++中sizeof(空类)问题总结

2017-06-21  本文已影响9人  不会code的程序猿

剑指offer-22~23

问题描述:

代码测试:

#include <iostream>
using namespace std;
//空类
class classA{};
//包含构造函数和析构函数
class classB
{
    classB(){};
    ~classB(){};
};
//包含4B的成员变量
class classC
{
private:
    int a;
};
class classD
{
private:
    int a;
    void Print()
    {
        cout << a << endl;
    }
};
//包含虚函数的析构函数
class classE
{
    int a;
    void Print()
    {
        cout << "hello world" << endl;
    }
    virtual ~classE(){};
};
int main()
{
    cout << sizeof(classA) << "  ";
    cout << sizeof(classB) << "  ";
    cout << sizeof(classC) << "  ";
    cout << sizeof(classD) << "  ";
    cout << sizeof(classE) << "  ";
    getchar();
    return 0;
}

vs2013+windows7
64位:指针和int均占8个字节


Paste_Image.png

32位:指针和int均占4个字节


结果分析:

上一篇下一篇

猜你喜欢

热点阅读