C++ 使用了using namespace后为何还要#include?
很久以前就问过类似的问题,当时貌似问懂了,不过最近又有点糊涂了。我现在理解的是:
#include <iostream>
后,不用using namespace std;
或者using std::cout;
的话,那么在程序中只能够用std::cout。
但是现在的问题是:已经using namespace std;
了之后,为何还需要#include <iostream>才能够使用cout呢?毕竟,在C#中,用using namespace后就可以直接用该名字空间中的类了。
难道是因为C++中的名字空间太多、所以C++不鼓励我们using namespace 而导致的一个副作用?