日志

CPP八股记录

playerzhou 无回复

记录不会的cpp八股

  1. 问:析构函数非虚函数时,父类指针指向子类时,子类成员的成员变量能正确析构吗
    答:不能

  2. 问:nullptr调用成员函数时会发生什么
    答:未定义行为,按主流编译器实现不涉及this指针和成员变量的话能正常运行,但gcc/g++可能会假定this!=nullptr做出优化

  3. 问:类的成员函数模板可以是虚函数吗
    答:不可以,模板的实例化是在编译器进行,编译器只能知道当前编译单元的情况,无法构造虚表

  4. 问:为什么拷贝构造函数参数必须是引用
    答:值传递时会触发拷贝构造,造成无限递归

  5. 问:delete this可行吗
    答:可以,只要保证对象是使用new生成出来的,能确保后续不再使用就行

来一发吐槽

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据