关于一个空类的问题
最近面试老是被问道关于一个空类的问题
被问麻了
来总结一下
空类默认成员
1 | |
对于这样一个空类,编译器会自动生成
默认构造函数
拷贝默认构造函数
默认拷贝赋值操作
默认析构函数
取值运算符
取值运算符const
这些函数都是inline和public的
等价于
1 | |
空类的大小
用以下代码实验
1 | |
空类占一个字节
为什么空类会占一个字节呢?
因为空类是可以实例化的
实例化就是在内存中分配空间,所以虽然空类里面没东西,但是需要占一个字节来区分不同的对象
最近面试老是被问道关于一个空类的问题
被问麻了
来总结一下
1 | |
对于这样一个空类,编译器会自动生成
默认构造函数
拷贝默认构造函数
默认拷贝赋值操作
默认析构函数
取值运算符
取值运算符const
这些函数都是inline和public的
等价于
1 | |
用以下代码实验
1 | |
空类占一个字节
为什么空类会占一个字节呢?
因为空类是可以实例化的
实例化就是在内存中分配空间,所以虽然空类里面没东西,但是需要占一个字节来区分不同的对象