c++中的模板
c中的模板在c语言中对于不同类型的函数要定义很多次在c可以一个函数的重复定义还是太麻烦了所以有了模板。类似于中国的活字印刷术可以定义一个模板实现一个函数多用。如下面的代码定义一个交换的模板T会自动生成为对应的类型。#includeiostream #includestring using namespace std; //是函数模板 templateclass T//可以有多个编译器帮你生成 void Swap(Tx,Ty){ T tmp x; xy; ytmp; } //可以代替简单函数的多次定义 //void Swap(int x,int y){ // int tmp x; // xy; // ytmp; //} //void Swap(float x,float y){ // float tmp x; // xy; // ytmp; //} int main(){ return 0; }模板的声明必须以template关键字开头。必须包含用尖括号 括起来的模板参数列表。每个类型模板参数前都必须有class或typename关键字。这两个关键字在此处可以互换使用并且可以在同一个模板参数列表中混合使用。多个参数之间用逗号,分隔。可以针对类和函数去调用模板templateclass T T* fun1(int n){ return new T[n]; } //创建了一个自定义数值模板因为不知道到底是什么类型所以在使用时要实例化 //fun1int(10)相对于c语言的#define可以同时创建不同类型的自定义类。