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

Why use standard types as template parameters?

本文关键字:参数 标准 类型 为什么      更新时间:2023-10-16

我目前正在学习C++,我已经到了我正在阅读的书中关于模板的章节。

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

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

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

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

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