根据模板功能直接定义非模板功能

时间:2019-06-16 01:51:07

标签: c++ templates function-templates

我可以给模板函数的特定实例化起一个名字,以便像非模板函数一样叫它吗?

例如,

// some template function
template <typename T>
void foo(T t) {...}

// I would like int_foo to behave like a regular function with
// foo<int> as its implementation (obviously this doesn't compile because
// using cannot be used like this)
using int_foo = foo<int>;

一种方法是只委托并依靠内联来完成其余工作,例如:

void int_foo(int i) {
    foo<int>(i);
}

...但是,如果有更直接的方法,我将为您所用。

1 个答案:

答案 0 :(得分:2)

不,没有,不需要30个字符,但是所有答案都可以。