(Boolan)OOP和GP

OOP: Object-oriented programming?面向?qū)ο蟮木幊?/a>?,例如C++中的類和對象

GP:Generic Programming?泛型編程?,例如C++中的模板

OOP將 datas 和methods聯(lián)系在一起;GP將 datas 和methods分開;這么做都是對具體的抽象。OOP的關(guān)鍵是類,類實例化出對象;GP的泛型是相對于強類型程序語言而定義的,GP 編程本身不需要指定類型的datas,實例化時需要datas,更像是methods的抽象。

注釋:method->算法->比較大小->Operator Overloading

關(guān)于operator overloading,課件上講解了member?function和non-member function兩種操作符

----------------------------------------------------------------------------------------------

分配器:allocators ,每個容器都有一個默認(rèn)的分配器。

參考標(biāo)準(zhǔn)庫的課件可知,分配器默認(rèn)是一個類模板,間接通過malloc 和delete管理內(nèi)存。

-----------------------------------------------------------------------------------------------

GNU2.9 和GNU4.9的STL庫在實現(xiàn)方式有很大區(qū)別,分配器的分配策略,每個容器的實現(xiàn)方法。容器是一個類模板。

由課件的容器list可知,容器中typedef了iterator,這樣,每個容器都有自己的智能指針,這樣就定義了特定類型的索引方式(重載操作符)

----------------------------------------------------------------------------------------

想要看C++大型項目的源碼;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容