我目前正在学习C ++,而且我已经阅读了“我读书”一书中有关模板的章节。
他们刚刚展示了使用整数作为模板参数的示例,它看起来像这样:
template<class T, int N> class array{...}
在示例N中用于确定数组的大小,但我的问题是为什么你甚至会这样做,如果你也可以只将大小作为构造函数的参数传递?例如?
答案 0 :(得分:3)
构造函数的参数可以在运行时传递,即您不需要在编译时知道它的值。但是,必须在编译时知道模板参数的值。
如果要静态分配数组,则必须在编译时知道其大小。因此,确定大小的模板参数是合适的。