前端之家收集整理的这篇文章主要介绍了
如何使用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