c++++ 函數模板允許您創建可用于多種數據類型的函數,從而提高代碼可重用性。語法為:template 函數名(參數列表),指定類型參數即可使用。實戰案例包括在數據結構中使用函數模板,例如可用于任何數據類型的棧類:template class stack。
C++ 中如何使用函數模板
函數模板是 C++ 中的一種強大特性,它允許您創建可用于多種數據類型的函數。這可以提高代碼的可重用性,并減少重復代碼的數量。
函數模板語法
函數模板的語法如下:
template <typename T> 函數名(參數列表) { 函數體 }
登錄后復制
其中 T
是類型參數。可以有多個類型參數,用逗號分隔。
使用函數模板
要使用函數模板,只需在函數名稱后面指定類型參數即可。例如,以下代碼聲明了一個計算兩個數之和的模板函數:
template <typename T> T sum(T a, T b) { return a + b; }
登錄后復制
現在,您可以將此函數用于任何數據類型,例如:
int x = sum(1, 2); // x 等于 3 double y = sum(1.5, 2.5); // y 等于 4.0
登錄后復制
實戰案例
以下是一個在數據結構中使用函數模板的實戰案例:
template <typename T> class Stack { private: vector<T> elements; public: void push(T element) { elements.push_back(element); } T pop() { if (elements.empty()) { throw runtime_error("Stack is empty"); } T element = elements.back(); elements.pop_back(); return element; } };
登錄后復制
此棧類可以使用任何數據類型,例如:
Stack<int> intStack; intStack.push(1); intStack.push(2); cout << intStack.pop() << endl; // 輸出 2 cout << intStack.pop() << endl; // 輸出 1
登錄后復制
結論
函數模板是 C++ 中提高代碼可重用性和減少重復代碼的強大工具。通過理解函數模板的語法并使用實戰案例,您可以充分利用這種特性來編寫更靈活且可維護的代碼。