一、模板的定义和实力化
模板从源头上可以分为自定义模板和标准模板。
模板定义的总规则:不管是函数模板还是类模板,在声明和定义时,只能在全局命名空间和类范围内进行。不能再局部范围内,不能再函数内(包括main函数)声明或定义一个模板。
模板定义完成后,使用时需要进行实例化操作,编译器在编译时会确认模板参数具体时哪种类型的,这个过程称为模板的实例化。实例化之后才能成为真正能工作的代码。
函数模板的定义:
template<typename 形参名 1,typename 形参名2,...>
返回类型 函数名
{
函数体
}
例:求三个数中的最大数
#include <iostream>
using namespace std;
template <typename T>
T max(const T &a,const T &b,const T &c)
{
T temp = (a > b) ? a : b;
return (temp > c) ? temp : c;

本文探讨了C++中的模板概念,它作为程序的通用骨架,允许忽略操作数类型,实现泛型编程。通过实例解析,阐述如何自定义模板并将其具体化以适应不同数据类型的运用。
最低0.47元/天 解锁文章
8182

被折叠的 条评论
为什么被折叠?



