2020-12-16(虚析构函数,神逻辑代码)
生活随笔
收集整理的這篇文章主要介紹了
2020-12-16(虚析构函数,神逻辑代码)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
下面這串代碼從匯編角度分析的話,大家等幾天,我看看,我目前只能從c++層面來解釋
抓住一點(在多態調用非自身構造函數和析構函數時都會進行虛表替換)
下面是執行的結果,最主要需要注意的是就是第一次為什么輸出是CPerson,不是CChinese,因為在構造函數里面調用的時候已經把虛表給換了,被換成父類的虛表了,往下調用GetClassName時,這個對象的虛表已經是父類虛表了,所以這時只能在父類里面調用,調用函數的對象的自身虛表已經找不到了,它沒辦法多態了,從c++層面分析時注意這點就行,其它的都類似。
總結
以上是生活随笔為你收集整理的2020-12-16(虚析构函数,神逻辑代码)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 返回对象2(调用了拷贝构造函数)
- 下一篇: 2020-12-18(何种情况下编译器会