如何使用C 11使用关键字作为模板函数来删除范围中的命名空间

前端之家收集整理的这篇文章主要介绍了如何使用C 11使用关键字作为模板函数来删除范围中的命名空间前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个模板功能
namespace Example
{
template<class T>
T Foo() { return T(0); };
}

我想使用using语句或类似的东西,这样我就不必在调用函数名时用它的名字命名前缀,即

template<class T> using Foo = Example::Foo<T>;

但是这不起作用.

我不想使用以下方法,因为它将包括命名空间的所有内容示例:

using namespace Example;

是否有一个很好的C 11方法来为命名空间中的函数创建缩短的别名?

解决方法

至于任何符号,你可以使用Example :: Foo ;.这可以在命名空间范围或函数范围中使用(这实际上存在于C 98中,它在C 11中不是新的).您尝试执行的方法仅适用于类型,而Foo是一个函数.
原文链接:https://www.f2er.com/c/118232.html

猜你在找的C&C++相关文章