我理解这个概念,但我不知道为什么我需要使用非类型模板参数?
最佳答案
有很多用例,所以让我们看一下它们必不可少的几种情况:
固定大小的数组或 matrix类,例如 C++11 std::array或 boost::array .
std::begin 的可能实现对于数组,或任何需要固定大小的 C 样式数组大小的代码,例如:
返回数组的大小:
template <typename T, unsigned int N>
unsigned int size(T const (&)[N])
{
return N;
}
它们在模板元编程中也非常有用。
关于c++ - 为什么我们使用非类型模板参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12550398/