栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++模板的语法以及原理

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++模板的语法以及原理

函数模板

函数模板的概念
函数模板代表了一个函数家族,该函数模板与类型无关,根据实参类产生特定的类型版本
函数模板格式

template
Type 函数名(Type x)
{}

用交换函数作为例子:

template
T Swap(T &a,T &b){
	T tmp = a;
	a = b;
	b = tmp;
}

当两个参数为不同类型时该怎么办呢?

template
T Add(T x1,T x2){
	return x1+x2;
}
int main(){
	//第一种方法是直接强制类型转化其中一个参数
	Add((double)10,10.5);
	//第二种是直接将类型定义好
	Add(10,10.5);
}

非模板函数和其同名模板函数可以同时存在吗
答案是可以的,那么当函数调用时,调用哪一个呢?
对于非模板函数和其同名的模板函数,如果条件都相同,则调用非模板函数,如果模板函数可以产生一个更好的匹配函数,则调用模板函数

类模板

其实类模板和函数模板是没有很大差别的

template
class Test
{};

类模板中的函数放在类外进行定义时,需要加模板参数列表

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/384398.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号