範本在 C 標準函式庫中的應用:vector 範本:用於儲存和管理可動態成長的元素集合。 map 範本:用於儲存鍵值對,鍵可比較且值可任意型別。自訂模板類別:允許建立可針對不同類型進行參數化的通用程式碼類別。
C 標準庫中的模板化範例
C 標準函式庫廣泛使用模板,提供可重複使用、類型安全且高效率的代碼。模板是用於建立通用程式碼的藍圖,它可以針對不同類型進行參數化。
vector 範本
vector 是 C 標準函式庫中常用的範本容器。它是一個動態數組,用於儲存和管理元素集合。
#include <vector> int main() { // 创建一个空 vector std::vector<int> v; // 添加元素 v.push_back(1); v.push_back(2); v.push_back(3); // 访问元素 for (int i = 0; i < v.size(); i++) { std::cout << v[i] << " "; } // 输出:1 2 3 return 0; }
在這個範例中,vector 範本被用來儲存 int 類型的資料。我們建立了一個空 vector,然後使用 push_back 方法加入了元素。可以透過 [] 操作符存取元素。
map 範本
map 是另一個範本容器,用於儲存鍵值對。鍵可以是任何可比較的類型,而值可以是任何類型。
#include <map> int main() { // 创建一个空 map std::map<std::string, int> m; // 添加键值对 m["Alice"] = 20; m["Bob"] = 30; // 访问值 std::cout << m["Alice"] << std::endl; // 输出:20 return 0; }
在這個範例中,map 範本被用來儲存 string 類型的鍵和 int 類型的值。我們建立了一個空 map,然後使用 [] 操作符新增了鍵值對。可以透過鍵名存取值。
自訂模板類別
除了標準庫提供的模板外,我們還可以建立自己的模板類別。例如,我們可以建立一個範本類別來尋找元素的最小值或最大值:
template <typename T> T find_max(T a, T b) { return (a > b) ? a : b; } int main() { int max_int = find_max(10, 20); // 返回 20 double max_double = find_max(3.14, 2.71); // 返回 3.14 return 0; }
在這個範例中,find_max
範本函數被用來尋找兩個元素的最小值或最大值。它可以針對任何可比較的類型進行參數化,如這個範例所示。
以上是C++標準函式庫中模板化的例子?的詳細內容。更多資訊請關注PHP中文網其他相關文章!