C++開發:template,模板
C++中的template,模板,是用來實現靜態多型的。比如建立一個template Class之後,玩家可以選擇他們想要的type,來建立一個想要的Class。
例子:
template <typename T>
class Test {
public:
Max(T a1, T b1) :a(a1), b(b1) {};
private:
T a;
T b;
};
這時玩家可以這樣
int main() {
Test<int> T(10, 20);
cout << T.getA() << endl;
Test<bool> Ted(false, true);
cout << Ted.getA() << endl;
}
// 輸出10, 0
從getA(),我們可以看出,函式也可以使用模板來建立。
template <typename T>
T Max(const T & a, const T & b) {
return a > b ? a : b;
}
這個Max函式便可以根據輸入的資料型別來進行對應的大小判斷。
綜上,模板類可以幫助我們實現程式碼的靜態多型。其使用泛型來定義函式,其中泛型可用具體的型別(int 、double等)替換。通過將型別作為引數,傳遞給模板,可使編譯器生成該型別的函式。
相關文章
- c++ 模板模板引數("Template Template Parameters")C++
- 模板方法模式(Template)模式
- Python:Template模板字串Python字串
- c++11-17 模板核心知識(十二)—— 模板的模板引數 Template Template ParametersC++
- c++11-17 模板核心知識(十四)—— 解析模板之依賴型模板名稱 Dependent Names of Templates(.template/->template/::template)C++
- C++之templateC++
- WPF 資料模板Data Template
- Go HTML/template 模板使用方法GoHTML
- 傳單模板:Flyer Design - Flyer Template for Indeisgn
- go 模板(template)的常用基本語法Go
- OpenFaaS實戰之四:模板操作(template)
- ABAP,Java,JavaScript裡的字串模板String TemplateJavaScript字串
- ajax配合art-template模板引擎的使用
- 【ES6基礎】模板字串(Template String)字串
- C++——模板C++
- C++ 模板C++
- NX二次開發-使用NXOPEN C++嚮導模板做二次開發C++
- js模板引擎art template陣列渲染的方法JS陣列
- C#設計模式-模板方法模式(Template Method)C#設計模式
- [C++] template+struct 組合使用小技巧C++Struct
- c++函式模板C++函式
- C++模板沉思錄C++
- Elasticsearch之索引模板index template與索引別名index aliasElasticsearch索引Index
- C++ 可變引數模板遞迴展開C++遞迴
- Linux C++ 開發1 - 搭建C++開發環境LinuxC++開發環境
- ES6, Angular,React和ABAP中的String Template(字串模板)AngularReact字串
- 使用C# (.NET Core) 實現模板方法模式 (Template Method Pattern)C#模式
- 談一談我對‘模板方法’設計模式的理解(Template)設計模式
- C++模板沉思錄(上)C++
- C++泛型一:模板C++泛型
- C++函式模板案例C++函式
- Mubelotix/wasm-extension-template:一個易於使用的Rust Web模板ASMRustWeb
- 多module開發時module模板外掛開發
- Laravel 高效開發模板 (重構)Laravel
- vue開發:前端專案模板Vue前端
- 模板方法模式(c++實現)模式C++
- c++可變模板引數C++
- 把zabbix_agent 預設模板Template OS Linux 克隆為主動模式Linux模式