您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關C++中有哪些模板類,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
模板是泛型編程的基礎,那什么是泛型編程呢?泛型編程是一種獨立于任何特定數據類型編寫代碼的方式。
C++標準模板庫中的數據容器、迭代器和算法,都是泛型編程的例子,它們都使用了模板的概念。比如動態數組vector是可以存放任何類型數據的容器,我們可以定義許多不同類型的vector,比如 vector <int> 或 vector <string>。我們還可以定義保存鍵值對數據的map<int,float>或map<string,int>。
在定義一個類時先不指定類中數據成員的具體類型,而是用一個通用類型 T 來暫時替代,等到實例化類的對象時才確定類的成員數據的類型,這就叫模板類。
有了模板類,編譯器會在編譯階段從類模板自動生成多個具體類型的類定義。類模板避免了程序員重復編程,但是并不等于程序中沒有具體類型類的代碼。只要程序中有一個模板類的實例對象,就會存在對應的具體類的代碼。
22.2 定義模板類
模板類聲明的形式如下所示:
template <class T> class class_name {
...
}
T是一個占位符,類被實例化的時候T可以替換成某個具體的數據類型。比如下面這個例子中學生成績的數據類型有時候是用整型表示,有時候是用浮點型表示,那就可以把它定義為泛型T。
<>中的泛型數據類型也可以是多個,比如<class T1, class T2>。
22.4 模板類的派生
可以從模板類派生出新的模板類,格式如下圖所示:
上述就是小編為大家分享的C++中有哪些模板類了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。