template <typename T=char>
我在一些项目中看到了这段代码。 为什么他/她把“= char”放在那里? 这是合法的,它是什么意思?
谢谢
答案 0 :(得分:2)
它是模板参数的默认值,因此无需指定该类型即可实例化。
template <typename T=char>
class Foo { ... };
Foo<> x; // a Foo<char>
Foo<char> y; // same as above
Foo<int> z; // now a Foo<int>
答案 1 :(得分:1)
用于为类模板参数设置默认值或类型。
template <class T=char, int N=10> class mysequence {..};
我们可以通过声明:
使用默认模板参数创建对象 mysequence<> myseq;
这相当于:
mysequence<char,10> myseq;