为什么使用标准类型作为模板参数?

时间:2018-05-17 09:46:00

标签: c++ templates generics int polymorphism

我目前正在学习C ++,而且我已经阅读了“我读书”一书中有关模板的章节。

他们刚刚展示了使用整数作为模板参数的示例,它看起来像这样:

template<class T, int N> class array{...}

在示例N中用于确定数组的大小,但我的问题是为什么你甚至会这样做,如果你也可以只将大小作为构造函数的参数传递?例如?

1 个答案:

答案 0 :(得分:3)

构造函数的参数可以在运行时传递,即您不需要在编译时知道它的值。但是,必须在编译时知道模板参数的值。

如果要静态分配数组,则必须在编译时知道其大小。因此,确定大小的模板参数是合适的。