rt
#include <string>
是标准C++(98)规格的,不允许有.h
#include <string>是 后来的标准,是推荐使用的,使用它的时候要和名字空间一起使用
#include <string.h>是以前的事实习惯,大家都这么用,所以就被广泛使用了,好象有其他的系统的头文件不是使用的 .h 做为头文件的扩展名
要符合规范的话,使用 #include <string>
#include <string>是对原来的C++预编译头文件<string.h>的一个新的写法,二者在意义上没有什么大的区别,只是<string.h>是在C中有效的头文件,在C++中为了用到在C中一样的头文件就可以用这种写法。
string 是STL的库。
string.h/cstring 是c的库
string.h和cstring的区别就是cstring使用了命名空间(c++标准)