C++模板 學習要點
C++模板學習要點
1. 類模板
a. 方法模板
主要用於實現拷貝構造函數和賦值運算符
b. 選擇性實例化
c. 類模板特化
實際上是編寫模板類的例外情況, 如TClass<typename T >, 定義了一個模板類, 但是這個當T是char*時, 該模板類的定義的行爲可能沒有意義, 這時候需要針對當T是char*時的情況編寫特化類模板。特化的目的是爲用戶提供統一的名字。 當用戶創建TClass<int>時, 編譯器用原來的模板類實例化, 當用戶創建TClass<char*> 時, 編譯器用特化模板TClass<char*> 實例化, 這些對用戶是透明的。
全特化:
偏特化:
2.函數模板
1. 類模板
a. 方法模板
主要用於實現拷貝構造函數和賦值運算符
b. 選擇性實例化
c. 類模板特化
實際上是編寫模板類的例外情況, 如TClass<typename T >, 定義了一個模板類, 但是這個當T是char*時, 該模板類的定義的行爲可能沒有意義, 這時候需要針對當T是char*時的情況編寫特化類模板。特化的目的是爲用戶提供統一的名字。 當用戶創建TClass<int>時, 編譯器用原來的模板類實例化, 當用戶創建TClass<char*> 時, 編譯器用特化模板TClass<char*> 實例化, 這些對用戶是透明的。
全特化:
偏特化:
2.函數模板
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
實現“代碼可視化”需要了解的前置知識-編譯器中端
原創
2024-05-21 11:56:05
Spring Boot3,啓動時間縮短 10 倍!
原創
2024-05-13 02:20:47
「Java開發指南」如何用MyEclipse搭建GWT 2.1和Spring?(二)
原創
2024-05-17 12:21:26
「Java開發指南」如何用MyEclipse搭建GWT 2.1和Spring?(一)
原創
2024-05-08 11:36:35
聊聊Swift中的宏
原創
2024-04-18 23:26:09
昔日輝煌不再,PHP老矣,尚能飯否?
原創
2024-05-23 23:48:42
跨端自渲染繪製的實踐與探索
原創
2024-05-21 11:56:03
數據結構筆記淺記(十四) 樹
原創
2024-05-14 00:28:41
opencvsharp中resize圖像
osc_6mbnx553
2024-05-13 22:07:26
2024 開源之夏|報名 NebulaGraph 項目,領取你的 ¥12,000 獎金
NebulaGraph
2024-05-13 03:51:52
cheerp 編譯器之通用計算模塊ccm1
原創
2024-05-12 21:53:46
雲效 Pipeline as Code 來了!這些場景,用好它效率翻倍!
原創
2024-05-11 21:15:05
「Qt Widget中文示例指南」如何實現一個快捷編輯器(一)
原創
2024-04-30 23:36:29
安全策略增量加速之對象
原創
2024-04-29 22:54:50