C++面试题 sizeof相关

2024-10-31 00:15:08

1、sizeof定义为:是一种运算符,查询对象或者类型的大小,对象最终也会转换成类型计算大小,一般经常使用的类型的大小很简单,此处不多说,见图

C++面试题 sizeof相关C++面试题 sizeof相关

4、类中含有virtual时(无论一个还是多个),内存中就会出现一个虚指针,而指针的大小为4,所以类的大小也是4;单一继承下,无论父类还是派生类中存在虚函数,派生类中大小都为4(只考虑虚函数,无其他成员),虚函数地址都存在于虚函数指针指向的虚函数表中。多重继承时,派生类会出现多个虚指针,此时大小就要具体计算了,如图继承两个含有虚函数的基类,派生类中存在两个虚指针,其大小为8。

C++面试题 sizeof相关

5、虚继承:父类中存在虚函数,派生类进行虚继承,此时在派生类中出现两个虚指针,一个是指向类中虚函数表的指针,另一个是指向父类的指针,两个是不同的指针,所以类的大小应该是二者相加,即8.

C++面试题 sizeof相关
猜你喜欢