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 分钟前
2025年11月17日力扣刷题小记
算法·刷题
@卞9 分钟前
ST 表相关练习题
数据结构·c++·算法
醒过来摸鱼11 分钟前
9.8 贝塞尔曲线
线性代数·算法·numpy
报错小能手12 分钟前
C++笔记 bind函数模板
开发语言·c++·笔记
Vanranrr24 分钟前
表驱动编程实战:让 UI 逻辑既清晰又好维护
c++·ui
Vanranrr25 分钟前
车机项目中的 Widget 设计反思:从“能用”到“好用”的改进方向
c语言·c++·架构
2501_9411115236 分钟前
C++中的适配器模式
开发语言·c++·算法
2501_9411119437 分钟前
C++中的适配器模式变体
开发语言·c++·算法
Ace_317508877644 分钟前
拼多多关键字搜索接口逆向:从 WebSocket 实时推送解析到商品数据结构化重建
数据结构·websocket·网络协议
旋转的马铃薯干1 小时前
bulk RNA-Seq(7)差异表达分析可视化
算法