using namespace std的话,会引入很多的名字啊。而你实际用到的,可能就是cout,cin这两个。所以没有必要完全引进。用 using std::cout ,using std::cin 就好了。其实对于标准来说,我们都用using namespace std。而如果你用的是别人提供的,比如第三方提供的,比如你同事提供的,你就用using A::b这种比较好。因为他在里面命名了什么,你不知道,如果你不需要用到的话,不用引进到你的程序中,这样你的程序还可以用他名字空间的名字。
是编译器的一个BUG,主要是使用友元函数的时候要使用using std::