先说说
标准c++头文件没有.h扩展名,标准c++定义的东西在std名字空间里。
包含了iostream里使用cout需要这样: std::cout 或者 using namespace std 。
iostream.h 在c++成为标准之前使用,定义了非标准输出流。这里定义的cout在全局名字空间里;不是内建的输入输出库,通过外部库提供。
更多请看
The Classic iostream Library
include iostream in C? stackoverflow
difference between iostream and iostream.h stackoverflow
为了兼容c标准库,c++的string类就声明在string头文件里,标准c的strcmp()等函数声明在string.h。在c++里,标准c的字符处理函数可能会声明在cstring头文件里。
所以
include
#include
#include
或者
#include
#include
其中

