CPP八股记录
playerzhou
无回复
记录不会的cpp八股
-
问:析构函数非虚函数时,父类指针指向子类时,子类成员的成员变量能正确析构吗
答:不能 -
问:nullptr调用成员函数时会发生什么
答:未定义行为,按主流编译器实现不涉及this指针和成员变量的话能正常运行,但gcc/g++可能会假定this!=nullptr做出优化 -
问:类的成员函数模板可以是虚函数吗
答:不可以,模板的实例化是在编译器进行,编译器只能知道当前编译单元的情况,无法构造虚表 -
问:为什么拷贝构造函数参数必须是引用
答:值传递时会触发拷贝构造,造成无限递归 -
问:delete this可行吗
答:可以,只要保证对象是使用new生成出来的,能确保后续不再使用就行
来一发吐槽