C++ 根据模板函数直接定义非模板函数

C++ 根据模板函数直接定义非模板函数,c++,templates,function-templates,C++,Templates,Function Templates,我能给一个模板函数的具体实例起个名字吗,这样它就可以像非模板函数一样被调用 例如: //一些模板函数 模板 void foo(T){…} //我希望int_foo的行为像一个具有 //foo作为它的实现(显然这不会编译,因为 //使用(不能像这样使用) 使用int_foo=foo; 一种方法是委托并依靠内联完成其余工作,如: void int_foo(int i) { foo<int>(i); } void int\u foo(int i){ 富(i),; } 。。。但

我能给一个模板函数的具体实例起个名字吗,这样它就可以像非模板函数一样被调用

例如:

//一些模板函数
模板
void foo(T){…}
//我希望int_foo的行为像一个具有
//foo作为它的实现(显然这不会编译,因为
//使用(不能像这样使用)
使用int_foo=foo;
一种方法是委托并依靠内联完成其余工作,如:

void int_foo(int i) {
    foo<int>(i);
}
void int\u foo(int i){
富(i),;
}

。。。但如果有更直接的方法,我会全神贯注。

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

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

由于模板参数的推导,您已经可以在不使用模板参数的情况下调用
foo(42)
。这足够好吗?在本例中没有。在头文件中,我有一个声明
int\u foo(int I)
,我想用
foo
实现它,但该函数不会出现在头文件中(我不想公开它)。因此,我在寻找一种方法,用
foo
来定义
int\u foo
,而不暴露
foo
。我想我将被告知在问题中包括这些细节:)@johnzwincki如果你不想在标题中公开
foo
,只需在标题中声明
int\u foo()
,但在
.cpp
文件中定义它。是吗?@JohnZwinck,是的-但我想在cpp中定义
int\u foo
,用
foo
来表示,而不使用委托方法。将
int\u foo
定义为函数指针,然后让它指向.cpp文件中的
&foo
。您已经可以在没有模板参数的情况下调用
foo(42)
,多亏了模板参数推导。这足够好吗?在本例中没有。在头文件中,我有一个声明
int\u foo(int I)
,我想用
foo
实现它,但该函数不会出现在头文件中(我不想公开它)。因此,我在寻找一种方法,用
foo
来定义
int\u foo
,而不暴露
foo
。我想我将被告知在问题中包括这些细节:)@johnzwincki如果你不想在标题中公开
foo
,只需在标题中声明
int\u foo()
,但在
.cpp
文件中定义它。是吗?@JohnZwinck,是的-但我想在cpp中定义
int\u foo
,用
foo
来表示,而不使用委托方法。将
int\u foo
定义为函数指针,然后让它指向.cpp文件中的
&foo
。-D甚至注释都有阈值。即使是问题也有阈值,但是,用填充词写一个较长的问题,然后立即编辑成较短的作品-可能不是为了答案。:-D甚至评论都有阈值。即使问题也有阈值,但用填充词写一个较长的问题,然后立即编辑成较短的作品-可能不是为了答案。
void int_foo(int i) {
    foo<int>(i);
}