首頁  >  文章  >  後端開發  >  C++ 函式模板中的類別模板是如何使用的?

C++ 函式模板中的類別模板是如何使用的?

WBOY
WBOY原創
2024-04-15 12:48:01406瀏覽

C++ 函数模板中的类模板是如何使用的?

C 函數模板中的類別模板

C 函數模板可以感知類別模板,並利用它們作為參數類型。這允許您建立通用函數,適用於各種資料類型和結構。

語法

template<typename T>
void func(const T& arg1, const T2& arg2, ...);

其中:

  • #T 是函數參數的型別模板。
  • arg1, arg2 及後續參數是函數的實際參數。

實戰案例

考慮一個列印任何類型的一對值的函數:

template <typename T1, typename T2>
void print_pair(const T1& a, const T2& b) {
  std::cout << a << " " << b << std::endl;
}

我們可以將這個函數模板應用於不同的型別組合:

int main() {
  print_pair(1, 2.5);  // 打印整数和浮点数
  print_pair("Hello", "World");  // 打印字符串
  return 0;
}

在第一個範例中,T1 被推導為intT2 被推導為 double。在第二個範例中,T1T2 都被推導為 std::string

優勢

使用類別模板的函數模板具有以下優勢:

  • 程式碼重用性:無需為每種資料類型編寫多個函數。
  • 通用性:函數可套用於任何符合類型範本要求的資料類型。
  • 增強程式碼可讀性:減少了重複程式碼,提高了程式碼的可讀性和可維護性。

以上是C++ 函式模板中的類別模板是如何使用的?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn