当前位置: 首页 > 焦点 > >正文

c++模板(个人理解)

来源:哔哩哔哩    时间:2023-01-19 12:42:26

模板就像工厂里生产东西的机器,比如:你就可以只写一个 Swap 模板,编译器会根据 Swap 模板自动生成多个 Sawp 函数,用以交换不同类型变量的值。

——————————————————————————


(相关资料图)

头文件:  无要求

分类:     模板分为函数模板和类模板,一个生产函数,一个生产类;

格式:      template(class 类型参数1,class类型参数2 .......)

void  函数模板(。。。。。)

int main

{

。。。。。。

}

________________________________________________________________

//examble:

#include<iostream>

using namespace std;

template<class T>

void Swap(T & a,T & b)

{

T temp=a;

a=b;

b=temp;

}

int main()

{

int x=1,y=5;

Swap(x,y);

cout<<x<<"    "<<y<<endl;

double j=2.8,l=1.3;

Swap(j,l);

cout<<j<<"  "<<l;

// 输出结果:5    1

1.3  2.8

__________________________________________________________

//也可以这样写(另一个程序,不是交换数值的Swap的第二种写法)

#include <iostream>

using namespace std;

template <class T>

T Inc(int n)

{

return 1 + n;

}

int main()

{

cout << Inc<double>(4) / 2;

return 0;

}

//编译器不会因为实参 4 是 int 类型,就生成原型为 int Inc(int) 的函数。因此,上面程序输出的结果是 2.5 而非 2。

———————————————————————————

tip1 :  函数名和类名首字母一定要大写!

tip2:函数记得传址调用!

tip3:  class可以用typename来代替

X 关闭

推荐内容

最近更新

Copyright ©  2015-2022 北冰洋制鞋网版权所有  备案号:沪ICP备2020036824号-3   联系邮箱:562 66 29@qq.com