C++模板学习记录

2023-03-13  本文已影响0人  fatshi

C++的模板资料长篇大论,这里简要记录一下。

  1. 模版分为两类:函数模板类模板
  2. 函数模版的格式
//class可以用typename代替
template <class 形参名,class 形参名,......> 返回类型 函数名(参数列表)
{
    函数体
}

//样例
template <class T> void swap(T& a, T& b){}
  1. 类模板的格式
//class可以用typename代替
template<class  形参名,class 形参名,…>   class 类名
{ ... };

//样例
template<class T> class A {
public: 
    T a; 
    T b; 
    T hy(T c, T &d);
};

函数模板的调用应使用实参推演来进行, 类模板的调用要直接写类型

//比如有一个函数
void h(T a, T b) { ... }
//调用的时候
h(2, 3);

//上例中的A类,定义对象时
A<int> a;

非类型形参

template<class T,int MAXSIZE> class Stack{//MAXSIZE由用户创建对象时自行设置
    private:
        T elems[MAXSIZE]; 
}

//调用时
Stack<int,20>  int20Stack;

【参考】https://www.runoob.com/w3cnote/c-templates-detail.html

上一篇 下一篇

猜你喜欢

热点阅读