C++ 默认模板参数值
示例
就像函数参数一样,模板参数可以具有其默认值。所有具有默认值的模板参数都必须在模板参数列表的末尾声明。基本思想是在模板实例化时可以省略具有默认值的模板参数。
默认模板参数值用法的简单示例:
template <class T, size_t N = 10> struct my_array { T arr[N]; }; int main() { /* Default parameter is ignored, N = 5 */ my_array<int, 5> a; /* Print the length of a.arr: 5 */ std::cout << sizeof(a.arr) / sizeof(int) << std::endl; /* Last parameter is omitted, N = 10 */ my_array<int> b; /* Print the length of a.arr: 10 */ std::cout << sizeof(b.arr) / sizeof(int) << std::endl; }