如何将变量参数传递给模板?

时间:2012-03-27 16:01:11

标签: c++ templates

我想从键盘输入参数(int),然后将其传递给模板以创建对象。模板是

int lim;

cin>>lim;

mpa<lim,int,const char*> C;`

但它需要一个恒定的表达式。如何实现这一行动?

1 个答案:

答案 0 :(得分:4)

这是不可能的。模板在编译期间实例化,您希望在运行时更改行为。 或者,如果知道了一组可能的参数值,您可以在switch / case或类似构造中提及它们。 当然,当使用这种技术时,应该意识到代码膨胀 - 模板的所有实例化都将被编译成二进制文件,所以这根本不是做事的好方法