【原创】注意析构函数的使用
生活随笔
收集整理的這篇文章主要介紹了
【原创】注意析构函数的使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
清單:虛析構函數使用
1 class X { 2 public: 3 virtual ~X()= default; // 編譯器自動生成 defaulted 函數定義體 4 private: 5 int x; 6 }; 7 class Y: public X { 8 private: 9 int y; 10 }; 11 int main(){ 12 X* x = new Y; 13 delete x; 清單中x為X指針,x指向的是Y對象(Y繼承X),所以x基類指針只是指向Y對象的基類部分。如果X的析構函數不是虛函數,delete x時只是調用了X的析構函數,釋放了Y的基類子對象,從而造成內存泄漏。所以需要將X的析構函數定義為虛函數,利用多態性。同時為了利用編譯器生成的合成析構函數的效率,可以在后面加上=default。本文鏈接:【原創】注意析構函數的使用?http://www.cnblogs.com/cposture/p/4935186.html
轉載于:https://www.cnblogs.com/cposture/p/4935186.html
總結
以上是生活随笔為你收集整理的【原创】注意析构函数的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 从CentOS6.0i386到CentO
- 下一篇: Nexys4DDR的DDR2读写操作例程