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;
}
相关推荐
云泽80817 小时前
第十五届蓝桥杯大赛软件赛省赛C/C++大学B组
c语言·c++·算法·蓝桥杯
Wadli17 小时前
集群C++聊天服务器
服务器·开发语言·c++
洛水水17 小时前
# 线程池详解:从原理到实现
c++·线程池
大模型最新论文速读17 小时前
VQKV:KV Cache 压缩 82% 性能几乎不降
人工智能·深度学习·算法·机器学习·自然语言处理
yongui4783417 小时前
基于MSP430和Zigbee技术的煤矿综合监控系统设计与实现
算法
Ww.xh17 小时前
ESP8266连接AI大模型完整指南
人工智能·算法·语言模型
程序员雷欧17 小时前
Redis基础知识全解析:从数据结构到生产实战
数据结构·数据库·redis
思麟呀17 小时前
HTTP的Cookie和Session
linux·网络·c++·网络协议·http
小明同学0117 小时前
linux进程(下)
linux·服务器·c++
汉克老师17 小时前
GESP2023年12月认证C++三级( 第一部分选择题(1-8))
c++·string·字符数组·gesp三级·gesp3级