目录
1. 非类型模板参数
模拟参数分类类型形参与非类型形参。
类型形参即:出现在模板参数列表中,跟在class或者typename之类的参数类型名称。
非类型参数,就是用一个常量作为类(函数)模板的一个参数,在类(函数)模板中可将该参数当成常量来使用。
宏和非类型模板参数的对比:
#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
using namespace std;
#define N 20
template<class T>
class Stack
{
public:
private:
T _a[N];
int top;
};
int main()
{
Stack<int> st1;
Stack<int> st2;
//那么这里就有一个问题,如果我st1想开10个大小的空间,st2开20个大小的空间
//这里用宏的话就不是自己想要的结果,就和重定义数据类型一样,一个栈要存int
//另一个栈要存double类型也搞不定
return 0;
}
那么这个时候加一个非类型模板参数就好了。
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » 模板进阶
发表评论 取消回复