愛悠閑 > 深度探索c++對象模型前4章讀后感

深度探索c++對象模型前4章讀后感

標簽: c++  |  作者: carl_zhong 相關  |  發布日期 : 2015-07-11  |  熱度 : 421°

最近經別人推薦買了本新書<<inside the c++ object model>>讀了前4章,感覺受益頗多,讓我對c++區別于c的實現機制有了更加清楚的了解,以及對面向對象模型的構建有了更加清晰的認識。
我這個人很懶,只想總結精華的部分:
1.c++的類擁有vtable指針,指針指向的記錄有類類型、虛函數的地址、虛基偏移量等信息,來實現c++的精華特色:多態(當然前提必須該類有虛函數或者有虛繼承一個基類才會有這個虛函數表)。
2.c++的單繼承、多繼承、以及虛繼承之間的內存模型之間的區別:(假定每一個類都有虛函數,或基類有虛函數)
2.1. 繼承的類如果有vtable的 則公用繼承第一個父類的vtable
2.2. 多繼承情況下會擁有多個vtable,調用函數時this指針也會有偏移,多重繼承的內存模型的分部情況
2.3. 對于虛基繼承的情況內存模型
3.根據2所述,以后盡量不使用多繼承以及虛基繼承
4. 了解了關于c++編譯器處理編譯c++優化的相關知識


總之感覺這本書很值得一讀,我會將這本書慢慢讀完的~~~

版權聲明:本文為博主原創文章,未經博主允許不得轉載。



快乐彩中奖说明