使用相同模板的多个功能?

时间:2016-06-05 12:55:30

标签: c++ templates

是否可以在同一模板中包含多个函数,而不是两次重写模板?就像你写作一样:

template <typename T>
void A() {
    //...
}

template <typename T>
void B() {
    //...
}

这些功能不同,但它们共享一个类似的模板(使用泛型T)。有没有办法只初始化模板一次?

1 个答案:

答案 0 :(得分:6)

将它们分组到类模板中就可以实现这一目标。

<link rel="stylesheet" type="text/css" href="resources/css/flower.css" />

但是,您失去了从函数参数中推导出template <class T> struct Functions { static void A() { /*...*/ } static void B() { /*...*/ } }; 的能力,并且调用语法更长:

T