标签:函数 STL 数据类型 C++ c++ mySwap 模板 cout
主要针对c++泛型编程和STL技术
模板的特点:
- 模板可以直接使用,她只是一个框架
- 模板的通用并不是万能的
c++另一种编程思想称为:泛型编程,主要利用的技术就是模板
c++提供两种模板机制:函数模板 和 类模板
1.1、函数模板语法
函数模板作用:
建立一个通用函数,其函数返回值类型和形参类型可以不具体指定,用一个虚拟的类型来代表
语法:
template<typename T>
函数声明或定义
解释:
template —— 声明创建模板
typename ——表面其后面的符号是一种数据类型,可以用class代替
T —— 通用的数据类型 ,名称可以替换,通常为大小写字母
有两种方式使用函数模板:
隐士转换:
- mySwap(a, b);
显示转换:
- mySwap<int>(a, b);
eg:
#include <iostream>
using namespace std;
//函数模板
template<typename T> //声明一个模板,告诉编译器后面代码中紧跟着的T不要报错,T是一个通用的数据的数据类型
void mySwap(T &a, T &b)
{
T temp = a;
a = b;
b = temp;
}
int main()
{
int a = 10;
int b = 29;
cout << "交换前:" << endl;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
//利用函数模板交换两个数的值
//有两种方式使用函数模板
//1.隐式转换
mySwap(a, b);
//2.显示转换
//告诉编译器传入的数据类型是整型
mySwap<int>(a, b);
cout << "交换后:" << endl;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
system("pause");
return 0;
}
标签:函数,STL,数据类型,C++,c++,mySwap,模板,cout 来源: https://www.cnblogs.com/RedWetPlace/p/16189608.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。