在阅读Bruce Eckel关于命名空间的"Thinking in C++"时,我遇到了以下声明:
但是,您几乎从未在头文件中看到using指令(至少不在范围之外).原因是using指令消除了对该特定命名空间的保护,并且效果持续到当前编译单元结束.如果在头文件中放置using指令(在作用域之外),则意味着在包含此头文件的任何文件中都会发生"名称空间保护"丢失,这通常意味着其他头文件.
您是否愿意用一些简单的例子来帮助我理解上述陈述?
c++ namespaces global-namespace
c++ ×1
global-namespace ×1
namespaces ×1