虚析构函数的优点与缺点
时间: 2024-05-22 11:10:56 浏览: 77
最新c++面试127题,看你会多少1.pdf
虚析构函数是指在基类中将析构函数声明为虚函数,以便在使用基类指针删除派生类对象时,能够自动调用派生类的析构函数。虚析构函数的优点和缺点如下:
优点:
1. 当基类指针指向派生类对象时,可以正确的删除派生类对象,避免内存泄漏。
2. 在多态情况下,可以正确的调用派生类的析构函数,避免因为基类的析构函数不是虚函数而造成的问题。
缺点:
1. 虚函数会导致虚函数表的生成,增加了内存开销。
2. 运行时调用虚函数的开销较大,会降低程序的执行效率。
3. 虚析构函数只有在基类指针删除派生类对象时才需要使用,如果程序中没有这种情况,则虚析构函数的使用是多余的。
阅读全文