#include
是符合C++国际标准的用法
#include
只是各个编译器和库厂商保留用作向后兼容的遗留功能
标准上说,所有标准库成员都在 ::std 名字空间之内,使用
using namespace 相当于把这些名字“倾倒”进了全局名字空间中。
C++ IO 流库是最早随C++语言发售的标准库之一,在C++早期,模板、名字空间、甚至多继承都还没被引入C++语言的时候,就已经有IO流了,后来演化为主要C++编译器厂商都提供
C++ 国际标准 ISO/IEC 14882:1998 将所有标准库组件都放入了名字空间 ::std 中,并且把 IO 流库模板化,新的
当代编译器实现实际上大多并不提供两个不同的 IO 流实现,只不过是一个实现不带 namespace std 的