c++提高编程 1。模板
Posted 白米a
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++提高编程 1。模板相关的知识,希望对你有一定的参考价值。
泛型编程和STL技术
1、模板
1.1模板的概念
模板就是建立通用的模具,大大提高复用性
模板不能直接使用,只是一个框架,也不是万能的
1.2函数模板
函数模板作用:
建立通用函数,其函数返回类型和形参类型可以不具体指定,用虚拟的类型来代表
语法:
template <typename T>
函数声明或定义
解释:
template---声明创建模板
typename---表明其后面的符号是一个数据类型,可用class代替
T---通用的数据类型,可用其他字符替换
案例:
template <typename T>
void mySwap(T &a,T &b)
{
T temp=a;
a=b;
b=temp;
}
void test( )
{
int a=10,b=10;
mySwap(a,b);//1、自动类型推导
mySwap<int>(a,b);// 2、显示指定类型
}
1.3.1类模板语法
1.3.2类模板与函数模板的区别
1.类模板没有自动类型推导方式
void test01()
{
//Person p("孙悟空",200);无法用自动类型推导
Person<string,int>p("孙悟空",200);
}
2.类模板在模板参数可以有默认参数
1.3.3类模板中的成员函数创建时间
类模板中的成员函数和普通类的成员函数创建时机不同:
1.普通类的成员函数一开始就创建
2.类模板的成员函数在调用创建
以上是关于c++提高编程 1。模板的主要内容,如果未能解决你的问题,请参考以下文章