namespace 函数的一个重要例外就是,argument 的 namespace 会从 function 取消.这样 namespace 中的函数就有可能和 namespace 外的函数发生冲突!解决的办法就是定义自己的 namespace,或者直接更改函数名.
#include <iostream> 以后,getchar()\verb 没有 namespace.这是历史遗留问题.
::.
namespace A {} 内部使用 using namespace B;\verb 在 namespace A {} 外部使用 using A::xx; 是安全的,即不会引入 using namespace B.但如果使用 using namespace A,则会引入 using namespace B.
namespace A {} 内部使用 using namespace B; 新定义的函数也不会与 B 中的同名函数 overload,而是会直接覆盖 B 中的函数.