C++中的非类型模板参数

template<class T>
template<class T,size_t N = 10>

上面第一行代码是我们常见的模板,而第二行就是模板中的N就是非类型模板参数

#include<iostream>
using namespace std;

template<class T,size_t N = 10>//非类型模板参数
class Array
{
private:
	T m_ar[N];
public:
	Array()
	{
		cout << N <<endl;
	}
};

注意:
1.非类型模板参数必须是整型(及其相关类型),指针,引用
2.非类型模板参数必须是const类型

int main1()
{ 
	Array<int> ar1;
	Array<char,100> ar2;
    system("pause");
    return 0;
}

在这里插入图片描述

发布了77 篇原创文章 · 获赞 16 · 访问量 6532

猜你喜欢

转载自blog.csdn.net/weixin_43886592/article/details/102652720