【发布时间】:2019-07-10 22:34:27
【问题描述】:
如果 C++ 中的名称不是完全限定的,例如std::cout,可能会导致意外错误,如https://en.cppreference.com/w/cpp/language/qualified_lookup 中提到的。但是使用::std 命名空间的完全限定名称,例如。 ::std::cout,非常罕见,我注意到了。
是否有任何理由不使用 ::std 命名空间的完全限定名称?
那么对于自己创建的命名空间使用完全限定名称呢?这是个好主意吗?
【问题讨论】:
-
那是因为任何创建名为
std的嵌套类或命名空间的人都应该在他们提交的那一刻被护送出校园。所以在实践中这不是问题。 -
@n.m.优秀 !因此,我已经将我的答案的措辞从“没有人会调用一个标准类”更新为“没有人会敢于调用一个类标准”;-)
-
@n.m.这难道不值得更多的阐述进化来回答吗?为什么只是简短的评论?
-
@Red.Wave 这只是个玩笑。
-
@n.m.它更多。因为它有一个点,并且实际上击中了中心点。
标签: c++ namespaces naming name-lookup scope-resolution