C++使用模板的注意事项

两点注意事项

  1. 自动推导类型,必须推导出一致的数据类型T,才可以使用
  2. 模板必须要确定出T的数据类型,才可以使用
cpp 复制代码
#include<iostream>
using namespace std;

//第一点必须一致的数据类型
template <class T>
void myswap(T& a, T &b)
{
	T temp = a;
	a = b;
	b = temp;
}


void test01()
{
	int a = 10;
	int b = 20;
	char c = 'c';

	myswap(a, b);
	//myswap(a, c); //必须一致的数据类型
}


//第二点 必须确定T的数据类型
template <class T>

void func()
{
	cout << "func调用" << endl;
}



void test02()
{
	//func();  //错误,模板不能独立使用,必须确定T的类型
	func<int>();  //利用显示知指定的方式,给T一个类型,才可以使用该模板
}


int main()
{
	test01();
	test02();
	return 0;
}
相关推荐
atunet10 分钟前
从算法优化到系统加速的多层级思考7
算法
夜不会漫长42 分钟前
数据结构:链表
数据结构·链表
Navigator_Z1 小时前
LeetCode //C - 1156. Swap For Longest Repeated Character Substring
c语言·算法·leetcode
Reart1 小时前
Leetcode 1143.最长公共子序列(720)
后端·算法
无相求码1 小时前
const vs #define:C语言常量定义的差异
c语言·算法
先吃饱再说2 小时前
LeetCode 226. 翻转二叉树
算法
剑锋所指,所向披靡!2 小时前
数据结构之关键路径
数据结构·算法
阿宇的技术日志2 小时前
漏桶、令牌桶、滑动窗口 三限流算法理解
算法·滑动窗口·漏桶·令牌桶
笨笨饿2 小时前
101_详解USB协议
java·jvm·数据结构
J-Tony112 小时前
【Redis】数据结构&&持久化
数据结构·数据库·redis