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;
}
相关推荐
小师兄吃牛肉7 小时前
C++ 与 Lua 的协程交互:从原理到实战
c++·lua·交互
YYYing.7 小时前
【设计模式系列 (八) 】组合模式
c++·后端·设计模式·组合模式·c/c++
我就是不信7 小时前
C语言排序问题详解:从冒泡到快排的完整指南
c语言·算法·排序算法
艾莉丝努力练剑7 小时前
【QT】系统相关:多线程QThread基础
开发语言·网络·c++·qt·学习·大模型
l1t7 小时前
DeepSeek总结的PIVCO-Huffman编码性能优化
数据结构·c++·算法
-dzk-7 小时前
【贪心算法】LC 763.划分字母区间
算法·贪心算法
拾饵9427 小时前
第六周第二节那个RAG工业项目遇到的问题
算法
强壮的CAT7 小时前
VINS-Fusion 移植 ROS2 Jazzy 踩坑(一):环境与编译
人工智能·算法·机器人·自动驾驶
王维同学7 小时前
ETW监控-KswordARK功能展示
c++·windows·安全