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;
}
相关推荐
进击的荆棘2 分钟前
优选算法——分治
数据结构·算法·leetcode·分治
是娇娇公主~2 分钟前
C++ 多态机制与虚函数实现原理(补充)
c语言·c++
Yupureki5 分钟前
《实战项目-个人在线OJ平台》1.项目简介和演示
c语言·数据结构·c++·sql·算法·性能优化·html5
无敌秋7 分钟前
C++ public, private, protected类的继承
开发语言·c++
m0_5793936612 分钟前
C++代码混淆与保护
开发语言·c++·算法
qq_1481153713 分钟前
C++中的享元模式实战
开发语言·c++·算法
夜悊15 分钟前
指针、引用和常量的关系
c++
Yzzz-F19 分钟前
Problem - D2 - Codeforces
算法
烟花巷子19 分钟前
C++中的解释器模式
开发语言·c++·算法
暮冬-  Gentle°24 分钟前
C++中的策略模式高级应用
开发语言·c++·算法