在 C++ 我们常常会用惯了 using 和 using namespace 声明。

但是,在头文件中,不应该使用任何 using 声明。

道理很简单:头文件的内容会成为每个引用该文件的程序的一部分。在此处包含 using 声明将直接(可能)导致不必要的 using 声明,且头文件的使用者可能并不知道它有这个 using 声明。

因此,在头文件中,永远使用类型的完全限定名称。如,std::cin,std::string。