1.template型别参数的传递方式选择
当参数型别确定的情况下,我们选择传递方式非常简单,如果是内建型别如int,double等,我们选择按值传递,如果是class类型等,我们选择按址传递(引用传递)
这样的效率会高点。但如果是template型别的参数,因为其实际绑定的型别可以是内建型别,也可以不是,所以就有点麻烦。建议一律采取引用传递,因为这样的话,即
使实际绑定的是内建型别,效率相同,但如果不是的话就效率快很多。并且是const reference的形式
并且在构造函数中出现的template型别参数,采用成员初始化列表的形式初始化。
如:
template<typename valType>//对于模板类,其成员函数如果在类定义内部定义时,跟一般的类没区别,如果是在外面需要加上这句作为开头
inline BTnode<valType>:: //此处的BTnode需要<valType>修饰,而下面的不用。
BTnode(const valType &)
:_val(val) //在外面初始化
{
_cnt=1;
_lchild=_rchild=0;
}
2.