模板定义语法

时间:2015-06-26 15:53:29

标签: c++ templates generic-programming

简短的问题,这些定义是否相同?

1

    template<class T1>
    template<class T2>
    void function(T1 *a, T2*b);

2

    template<class T1,class T2>
    void function(T1 *a, T2*b);

1 个答案:

答案 0 :(得分:2)

不,他们不一样。第一种情况不会编译为自由函数(http://www.boxofficemojo.com/yearly/chart/?yr=2013&p=.htm)。通常情况下,当你有一个模板类并且你有一个带有另一个模板参数的函数时,你会做第一种情况

toLowerCase

你的第二个例子就像一个带有两个模板参数的函数一样好。