您的位置:首页 > 编程语言 > C语言/C++

C++ 学习记录4 -- 模板chongzai

2017-04-08 11:09 267 查看
在C++中,数据的类型也可以通过参数来传递,在函数定义时可以不指明具体的数据类型,当发生函数调用时,编译器可以根据传入的实参自动推断数据类型。这就是类型的参数化。

值(Value)和类型(Type)是数据的两个主要特征,它们在C++中都可以被参数化。

所谓函数模板,实际上是建立一个通用函数,它所用到的数据的类型(包括返回值类型、形参类型、局部变量类型)可以不具体指定,而是用一个虚拟的类型来代替(实际上是用一个标识符来占位),等发生函数调用时再根据传入的实参来逆推出真正的类型。这个通用函数就称为函数模板(Function
Template)。

template<typenameT>voidSwap(T*a,T*b){

T temp
= *a;

*a
= *b;

*b
= temp;

}
typename
关键字也可以使用
class
关键字替代,它们没有任何区别。

C++
除了支持函数模板,还支持类模板(Class
Template)。函数模板中定义的类型参数可以用在函数声明和函数定义中,类模板中定义的类型参数可以用在类声明和类实现中。类模板的目的同样是将数据的类型参数化。

const
返回值类型 & operator[ ] (参数) const;  重载[]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: