我有一个模板功能:
namespace Example
{
template<class T>
T Foo() { return T(0); };
}
Run Code Online (Sandbox Code Playgroud)
我想使用一个using语句或类似的语句,以便在调用它时,我不必在函数名称前加上它的命名空间
template<class T> using Foo = Example::Foo<T>;
Run Code Online (Sandbox Code Playgroud)
但这不起作用.
我并不想用下面的办法,因为这将包括一切形式的命名空间Example:
using namespace Example;
Run Code Online (Sandbox Code Playgroud)
有没有一个很好的C++ 11方法来为命名空间中的函数创建缩短的别名?
至于任何符号,你都可以做using Example::Foo;。这可以在命名空间范围内使用,也可以在函数范围内使用(这实际上存在于 C++98 中,它在 C++11 中并不是新的)。您尝试执行的方法仅适用于类型,而它Foo是一个函数。
| 归档时间: |
|
| 查看次数: |
1199 次 |
| 最近记录: |