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;
}
相关推荐
HZ·湘怡29 分钟前
二叉树 2 堆
算法
wabs6668 小时前
关于贪心算法的思考
算法·贪心算法
社交怪人8 小时前
【判断大小】信息学奥赛一本通C语言解法(题号1043)
算法
Snasph8 小时前
GNU Make 用户手册(中文版)
服务器·算法·gnu
江澎涌9 小时前
拆解与 AI 的一次对话
人工智能·算法·程序员
sheeta19989 小时前
LeetCode 每日一题笔记 日期:2026.06.02 题目:3635. 最早完成陆地和水上游乐设施的时间 II
笔记·算法·leetcode
Lsk_Smion9 小时前
力扣实训 _ [102].层序遍历--前序--后续_递归与非递归的实现
数据结构·算法·leetcode
Lsk_Smion10 小时前
力扣实训 _ [25].K个一组链表
数据结构·链表
小欣加油11 小时前
leetcode3751 范围内总波动值I
java·数据结构·c++·算法·leetcode
代码中介商11 小时前
C++左值与右值:核心判断法则详解
开发语言·c++