◇ vptr&vtbl
物件在記憶體中存在一個虛函式指標,其一般存在于資料成員之前,虛函式指標指向虛函式表,在虛函式表中按照函式宣告順序存盤著虛函式的地址,
可以用(*(p->vptr)[n])(p);或者(*p->vptr[n])(p);訪問,
◇ 動態系結
當物件滿足:
1、使用指標呼叫
2、指標存在向上轉型 UPcast
3、呼叫物件是一個虛函式
則編譯器會在編譯時進行動態系結,
◇ 物件模型&關于this

通過將需要子類實作的功能宣告為virtual函式,使子類的this指標可以upcast 呼叫父類函式,內部使用不同子類的具體實作,
◇ const
const成員函式,const可以修飾成員函式來避免成員函式對this指標的修改;
當成員函式的const和non-const版本都存在時,const成員只能呼叫const版本;
non-const成員只能呼叫non-const版本,

◇ new&delete
我們可以對operator new和operator delete進行各種版本的多載,但是每個版本都需要有自己的獨特引數序列
其中第一個引數必須是size_t.
對于operator delete的各種多載版本,它們雖然可以被多載,但是不會被delete呼叫,只有當new 呼叫的建構式拋出例外時,它們才會被呼叫,用來清除申請失敗物件的記憶體,
當然我們也可以通過使用域作用符::來強制使用全域new和全域delete,呼叫方法是::new和::delete!
今天的學習就止步如此吧,明天的你也要繼續加油啊~

最后,不管你是轉行也好,初學也罷,進階也可,如果你想學編程~
【值得關注】我的 C/C++編程學習交流俱樂部!【點擊進入】
問題答疑,學習交流,技術探討,還有超多編程資源大全,零基礎的視頻也超棒~
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/247272.html
標籤:C++
上一篇:C/C++編程筆記:回文程式實體
下一篇:Netty學習筆記
