c++ - 将定义添加到 namespace 别名

标签 c++ c++11

是否可以向命名空间别名添加一些内容? 或者我怎样才能实现以下目标:

using KdTree = ExternalLibrary::Special::KdTree;

namespace KdTree{
    class MySpezial {};
};

那是行不通的,但下面的工作:

using KdTree = ExternalLibrary::Special::KdTree;

namespace ExternalLibrary{ namespace Special { namespace KdTree{
    class MySpezial {};
}}};

第一种方法是标准禁止的吗?

最佳答案

第一个例子目前是不允许的,可能也不会出现在 C++1Z 中,但请注意 recent proposal允许

namespace ExternalLibrary::Special::KdTree {
    class MySpezial {};
}

这已经是 implemented in Clang .

关于c++ - 将定义添加到 namespace 别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31629101/

相关文章:

c++ - std::map <std::any,std::any>麻烦

c++ - 使用 std::allocator 和 std::move 防止释放的正确方法

c++ - 将可变参数函数模板的每个参数传递给返回 void 的函数

c++ - std::make_shared 在 VS2012 中进行两次构造函数调用

c++ - 如何让虚拟析构函数在 C++ 中被调用?

c++ - 如何在两个字符之间添加所有 Ascii 值?

c++ - 当我尝试使用 AVX 功能时 Clang 生成错误

c++ - 将模板参数限制为仅具有不同构造函数签名的一组类

c++ - parallel_for - 要并行化哪个循环?

c++ - 为什么我不能运行 C++11?