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;
}
相关推荐
OPEN-F1 分钟前
C++进阶教程:文件流与字符串流
开发语言·c++·算法
lv__pf2 分钟前
Mysql索引优化实战1【TL mysql4】
数据结构
boxiansheng1639 分钟前
通讯录系统报错(二)
c语言·数据结构
Android打工人17 分钟前
c++ 、java 融为一体2,c++ 实例化Android虚拟机直接运行java,c,java 一个进程号
android·java·c++
维克兜率天21 分钟前
4.1.3 策略类型全景图:六大策略,你适合哪个
笔记·python·算法·量化
jimy123 分钟前
std::move(a)本质是把a转换成右值引用类型
开发语言·c++
01_ice26 分钟前
c++类和对象(中)
c++·算法
纪念 22929 分钟前
数据结构排序(一)
数据结构·算法·排序算法
码匠许师傅31 分钟前
【设计模式精讲】4.单例模式(Singleton)
c++·单例模式·设计模式
薛定e的猫咪31 分钟前
(NeurIPS 2021)MatNet:面向矩阵型关系数据的神经组合优化编码器
人工智能·深度学习·线性代数·算法·矩阵