(Boolan)OOP和GP

OOP: Object-oriented programming?面向對象的編程?,例如C++中的類和對象

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

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

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

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

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

分配器:allocators ,每個容器都有一個默認的分配器。

參考標準庫的課件可知,分配器默認是一個類模板,間接通過malloc 和delete管理內存。

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

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

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

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

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

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容