一杯清酒邀明月
天下本无事,庸人扰之而烦耳。

泛型编程技术支持程序员创建函数和类的蓝图(即模板,template),而不是具体的函数和类。

标准模板库STL(Standard Template Library),STL库是泛型编程技术的经典之作,它包含了许多非常有用的数据类型和算法。

当拥有一个模板时,编译器将根据模板自动创建一个函数,该函数会使用正确的数据类型完成相应的任务。

实例:函数模板

 1 #include <iostream>
 2 #include <string>
 3 //using namespace std; 
 4 template <class T>//运用模板,告诉编译器,
 5 //字母T在接下来的函数里代表一种不确定的数据类型 
 6 //以上class并不意味着这是类,而是约定俗成的写法 
 7 void swap(T &a,T &b)
 8 {
 9     T tmp = a;
10     a = b;
11     b = tmp;
12 }
13 int main()
14 {
15     int i1 = 100;
16     int i2 = 200;
17     
18     std::cout << "交换前,i1 = " << i1 << ",i2 = " << i2 << "\n";
19     swap(i1,i2);
20     std::cout << "交换后,i1 = " << i1 << ",i2 = " << i2 << "\n";
21     
22     std::string s1 = "yiwofeiye";
23     std::string s2 = "helloworld";
24     
25     std::cout << "交换前,s1 = " << s1 << ",s2 = " << s2 << "\n";
26     swap(s1,s2);
27     std::cout << "交换后,s1 = " << s1 << ",s2 = " << s2 << "\n";
28     return 0; 
29 }
posted on 2023-08-18 15:37  一杯清酒邀明月  阅读(84)  评论(0编辑  收藏  举报