1、概念:
簡述:泛型程序設計其實就是編寫的程序他不依賴具體的數據類型。
思想:主要是把具體的算法從特定的一些數據結構剝離抽象出來,使這種算法可以在任何數據類型中通用,不僅僅是基本數據類型,自定義類型等。
優點:不需要再對不同的數據類型或者容器進行操作運算時編寫一套同樣的算法,當對不同類模板進行重寫或者修改擴充時也不需要再重寫大量的算法函數,極大的提高了軟件的複用性。
2、使用:
最常見的就是使用STL進行面向對象的程序設計過程,STL中的類模板、函數模板都是通過泛型編程的思想進行設計。
STL庫中最常說的容器庫裏面主要使用這7種:向量(vector)、雙向隊列(deque)、列表(list)、集合(set)、多重集合(multiset)、映射(map)以及多重映射(multimap)。
具體使用可參考下面這些書籍中對應的章節:
《C++11/14高級編程:Boost程序庫探祕》
《C++ 註釋C++ Annotations》
《泛型編程與STL》