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;
}
相关推荐
Boop_wu4 分钟前
[Java 算法] 字符串
linux·运维·服务器·数据结构·算法·leetcode
watson_pillow8 分钟前
c++ 协程的初步理解
开发语言·c++
故事和你9126 分钟前
洛谷-算法1-2-排序2
开发语言·数据结构·c++·算法·动态规划·图论
Fcy6481 小时前
算法基础详解(三)前缀和与差分算法
算法·前缀和·差分
kvo7f2JTy1 小时前
基于机器学习算法的web入侵检测系统设计与实现
前端·算法·机器学习
List<String> error_P2 小时前
蓝桥杯最后几天冲刺:暴力大法(一)
算法·职场和发展·蓝桥杯
Tanecious.2 小时前
蓝桥杯备赛:Day6-B-小紫的劣势博弈 (牛客周赛 Round 85)
c++·蓝桥杯
迈巴赫车主3 小时前
蓝桥杯3500阶乘求和java
java·开发语言·数据结构·职场和发展·蓝桥杯
流云鹤3 小时前
Codeforces Round 1090 (Div. 4)
c++·算法
小菜鸡桃蛋狗3 小时前
C++——string(上)
开发语言·c++