美文网首页
template(模板)

template(模板)

作者: 小鱼鱼_e7f3 | 来源:发表于2019-04-17 18:15 被阅读0次

为了让编译器区分事普通函数还是模板函数,使用template <calss T>/tamlate <typename T>来告诉编译器我接下来写的函数是模板函数。

例如:

template <class T>;

void Myswap(T& a, T& b){    

T temp = a;

a = b;

b = temp;

}


函数模板案例:

#include<iostream>

using namespace std;

//对char类型  int类型的数组进行排序

template<class T>

void  PrintArry(T * arr,int len) {

for (int i = 0; i < len; i++) {

cout << arr[i] << endl;

}

cout << endl;

}

//排序

template<class T>

void MySort(T* arr, int len) {

for (int i = 0; i < len; i++) {

for (int j = i + 1; j < len; j++) {

//从大到小

if (arr[i] < arr[j]) {

T temp = arr[i];

arr[i] = arr[j];

arr[j] = temp;

}

}

}

}

int main() {

int aar[] = { 2,3,4,8,1,0 };

//数组长度

int len = sizeof(aar) / sizeof(aar[0]);

cout << "排序之前" << endl;

PrintArry(aar, len);

MySort(aar, len);

cout << "排序之后" << endl;

PrintArry(aar, len);

char chArr[] = { 'a','b','v','g' };

int len1 = sizeof(chArr) / sizeof(char);

cout << "排序之前" << endl;

PrintArry(chArr, len1);

MySort(chArr, len);

cout << "排序之后" << endl;

    PrintArry(chArr,len);

return 0;

}

相关文章

网友评论

      本文标题:template(模板)

      本文链接:https://www.haomeiwen.com/subject/qixowqtx.html