C++库研究笔记——一个类型重复有关问题的两种解决办法(方法1的缺点补充)

C++库研究笔记——一个类型重复问题的两种解决方法(方法1的缺点补充)template typename T, templatetypena

C++库研究笔记——一个类型重复问题的两种解决方法(方法1的缺点补充)

template <typename T, template<typename> class FunObj>  class minimizer<T, FunObj<T> >  {}


如果我们又重新定义了FuncObj,  上面的minimizer 定义则必须改变(改变模板参数)

template<tyepname T, int N>

class FunObj

{


,这个缺陷太重要,以至于我们不应该使用这种设计,除非:你确定FunObj非常稳定,模板参数(个数,顺序等)永远不会改变。

不然,会带来灾难性后果——改设计,一直改到最基本的那个设计。

更多参见:C++库研究笔记——使用函数模板还是类模板?+ 一个类型重复问题的两种解决方法