C++中的哑对象指没有任何数据成员也没有虚函数的类, C++在处理这种类时,会增加一个哑成员,使得类的尺寸为1,因为如果不这么做的话:
- 对象的尺寸则为0,则不需要在内存中存放这个对象
- 对这个对象的取地址也将成为非法行为,比较两个哑对象的地址也将没有任何意义。
但是如果有虚函数,类中则至少有一个指向虚函数表的指针,所以成员数不可能为0,就不要添加哑成员了。
C++中的哑对象指没有任何数据成员也没有虚函数的类, C++在处理这种类时,会增加一个哑成员,使得类的尺寸为1,因为如果不这么做的话:
但是如果有虚函数,类中则至少有一个指向虚函数表的指针,所以成员数不可能为0,就不要添加哑成员了。