是否有私人使用name = type;

时间:2015-11-17 15:28:41

标签: c++ c++11 private using

我想写:

namespace A{
    using name = type;
}

但是,如果我尝试从另一个空间使用它,它将是可用的。我可以在其命名空间内将其设为私有吗?

2 个答案:

答案 0 :(得分:4)

没有语言功能允许这样做,但许多项目的约定是名为detail的名称空间的所有内容都是保留的,不应该使用。

namespace A {
    namespace detail {
        using name = type;
    }

    //something using detail::name
}

//A::detail::name technically accessible, but disallowed by convention

答案 1 :(得分:4)

不,你不能:命名空间(松散地说)true,除非整个事情都在匿名命名空间中,在这种情况下它只能被显示那个编译单位。

providerUrl