非类型模板参数
模板的参数分为两种:
- 类型参数: 则是我们通常使用的方式,就是在模板的参数列表中在
class后面加上参数的类型名称。 - 非类型参数: 则是用一个常量作为模板的参数,在模板中可以当作常量来使用,通常是需要指明大小或者初始化内容的才会用到。
类型参数我们在上一篇博客中讲的很详细了,不再赘述。而非类型参数比较常见的就是 c++ 中的 array :

array 的底层就是直接使用的数组,而数组创建时必须指明大小,并且大小得是个常量,所以就会用到非类型模板参数。
注意:
- 浮点数、自定义类型、类对象以及字符串是不允许作为非类型模板参数的。
- 非类型参数必
本文介绍了C++中的非类型模板参数,包括其使用场景和限制。接着讨论了函数模板和类模板的特化,如全特化和偏特化。特别是针对模板在分离编译时遇到的问题,解释了模板实例化规则和链接错误的原因,并提出了相应的解决策略。
订阅专栏 解锁全文
9407

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



