c++定义一个空的类CTest,CTest没有定义任何成员变量和成员函数,在32位机器上,以下结论正确的有:
正确答案: B C 你的答案: D (错误)
对该类求sizeof,结果为0。
给CTest添加构造函数,再对CTest求sizeof,结果为1.
给CTest添加虚函数,再对CTest求sizeof,结果为4.
给CTest添加虚函数,再对CTest求sizeof,结果为5.
c++类对象所占的内存。空类占一个字节。 函数和静态成员不在类对象的内存中。所以填不添加构造函数都是1。
但是添加虚函数,类对象会多一个虚函数表指针,不再是空类,32位系统,占用字节4字节。
c++的类对象,只有非静态成员变量占用内存。
空类占用一个字节的原因是区分类的实例化对象。