在C++类中,形如int型变量没有带参数的初始化默认是0,
float k = 0;
float = float();
float tmp = float(0); // 这是 (显示转换)explicit cast
以上代码都是等价的。
在C++为非类类型(non-class type,或称原生类型),这里的意思是提供的缺省构造函数(deconstructor),就方便处理模板参数。
template<typename T>
class solution{
public:
solution():tmp(){}
private;
T tmp;
}
或者
template<typename T>
class solution{
public:
solution(const T & _tmp=T()):tmp(_tmp){}
private;
T tmp;
}
这样,对于 solution<float> 也能正常地缺省构造 x。