曲径通幽论坛
标题:
什么是非类型参数或表达式参数?
[打印本页]
作者:
easy
时间:
2013-12-16 20:06
标题:
什么是非类型参数或表达式参数?
Q : 什么是非类型参数或表达式参数?
A :在声明一个类模板时,如有下面的形式:
template <class T, int n>
复制代码
其中,关键字 class 指出 T 为参数类型,int 指出 n 的类型为 int 。这种参数(指定特殊的类型而不是用作范型名)称为
非类型
(non-type)或表达式(expression)参数。
表达式参数有一些限制,它可以是整型、枚举、引用或指针。因此,double n 是不合法的,但 double *pn 则是合法的。另外,模板代码不能修改参数的值,也不能使用参数的地址,比如不能使用如 n++ 和 &n 等表达式。还有,用作表达式参数的值必须是常量表达式。
欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/)
Powered by Discuz! X3.2