我有一个模板函数:
namespace Example
{
template<class T>
T Foo() { return T(0); };
}
我想使用 using
语句或类似的语句,这样我在调用它时就不必在函数名称前加上它的命名空间,即
template<class T> using Foo = Example::Foo<T>;
但是这不起作用。
我不想使用以下方法,因为它会包括命名空间 Example
中的所有内容:
using namespace Example;
有没有一种很好的 C++ 11 方法可以为命名空间中的函数创建一个缩短的别名?
最佳答案
对于任何符号,您都可以使用Example::Foo;
。这可以在命名空间范围或函数范围内使用(这实际上存在于 C++98 中,在 C++11 中并不是新的)。您尝试执行的方法仅适用于类型,而 Foo
是一个函数。
关于c++ - 如何使用 C++ 11 的 using 模板函数关键字来删除作用域中的 namespace ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35105812/