c/c++学习笔记
文章平均质量分 53
个人学习笔记
Kai xin
这个作者很懒,什么都没留下…
展开
-
C++类模板与函数模板区别
即在有默认值的形参右边,不能出现无默认值的形参。实参与形参是按照从左向右的顺序建立对应关系的。C++11之前只有类模板支持默认模板参数,函数模板是不支持默认模板参数的,C++11后都支持。有默认值的形参必须在形参列表的最后。原创 2023-08-12 17:39:04 · 202 阅读 · 1 评论 -
函数模板的局限性
有两种方式解决函数模板无法进行两个自定义类型的比较,第一种是运算符重载,但是利用运算符重载的话,要重载多个比较运算符。编译该调用时,替换通用类型T为Person该函数内部进行两个对象是否相等比较,我并没有对 == 号运算符重载,显然不可进行比较。第二种方式,提供一个具体化的Person类型的模板(函数模板重载,具体化通用类型T的类型为Person),给通用类型T传入用户自定义类型Person,虽然看上去没有语法错误,但是编译时报错。,在声明的地方对模板代码本身进行编译,在。具体化的模板优先调用。原创 2023-08-11 20:53:49 · 141 阅读 · 1 评论 -
C++类模板的基本语法
template 类名{模板类的定义} //注:用class关键字和typename关键字没什么区别。建立一个通用类,类中的成员的数据类型可以不具体制定(实例化该类的对象时指定),用一个通用的类型T(虚拟的类型)来代表。class -- 表面后面的符号是一种数据类型,可以用typename代替。T -- 通用的数据类型,名称可以替换,通常为大小写字母。template -- 声明创建模板 n.模板。原创 2023-08-11 23:13:13 · 102 阅读 · 1 评论 -
C++普通函数与函数模板区别以及两者的调用规则
两者区别主要围绕可不可以隐式类型转换。原创 2023-08-10 22:03:39 · 175 阅读 · 1 评论