C++语言基础(20)-模板的非类型参数
2024-08-28 23:08:14
一.在函数模板中使用非类型参数
#include <iostream>
using namespace std; template<class T> void Swap(T &a, T &b); //模板①:交换基本类型的值
template<typename T, unsigned N> void Swap(T (&a)[N], T (&b)[N]); //模板②:交换两个数组 template<typename T, unsigned N> void printArray(T (&arr)[N]); //打印数组元素 int main(){
//交换基本类型的值
int m = , n = ;
Swap(m, n); //匹配模板①
cout<<m<<", "<<n<<endl; //交换两个数组
int a[] = { , , , , };
int b[] = { , , , , };
Swap(a, b); //匹配模板②
printArray(a);
printArray(b); return ;
} template<class T> void Swap(T &a, T &b){
T temp = a;
a = b;
b = temp;
} template<typename T, unsigned N> void Swap(T (&a)[N], T (&b)[N]){
T temp;
for(int i=; i<N; i++){
temp = a[i];
a[i] = b[i];
b[i] = temp;
}
} template<typename T, unsigned N> void printArray(T (&arr)[N]){
for(int i=; i<N; i++){
if(i == N-){
cout<<arr[i]<<endl;
}else{
cout<<arr[i]<<", ";
}
}
}
运行结果:
99, 10
10, 20, 30, 40, 50
1, 2, 3, 4, 5
最新文章
- Visual Studio Emulator for Android 初体验
- css-css权威指南学习笔记6
- 东大OJ-Prim算法
- 显示HTML文本
- 新闻类App使用的组件
- Codeforces 235E Number Challenge
- Linux 定时执行shell脚本_crontab
- PixelFormat 图像颜色的数据格式
- docker基于 aufs 文件系统
- Windows API 之 GetModuleHandle
- Hackers&#39; Crackdown UVA - 11825 (状压dp)
- Chapter 4 Invitations——15
- soapui的简单使用
- C#HTTP请求之POST请求和GET请求
- (20)The most mysterious star in the universe
- 大数据的常用算法(分类、回归分析、聚类、关联规则、神经网络方法、web数据挖掘)
- POJ 1159 Palindrome(区间DP/最长公共子序列+滚动数组)
- cocos2d-x Vector 使用心得
- YAML文件格式入门
- The Ugly Duckling
热门文章
- log4j设置,以及中文乱码,通过过滤器输出指定级别的日志,或者指定级别范围的日志
- Python程序员技能表—446家知名企业的Py招聘信息(转载)
- 【License】一张图该诉你各种License的含义?
- 转:超实用的IOS 9人机界面指南(1):UI设计基础 (腾讯力作)
- Codeforces 112A-Petya and Strings(实现)
- [转]mysql 常用命令集锦[绝对精华]
- P2P网络借贷系统-核心功能-用户投标-业务解说
- codeforces C. Diverse Permutation
- ZOJ 2604 Little Brackets DP
- SugarCE问题点记录