1.<string.h> 和<string>
<string.h>是c标准库的头文件,里面声明了与字符串相关的操作。比如说,memcpy()、strlen()、strcmp()......
<string>是c++标准库的头文件,里面声明和定义了string类以及其相关操作所以,要想在C++中使用string这个类,则要将此头文件include。也就是因为它是c++的头文件和类,所以在使用string这个标准库的类时,应该用using来声明名字空间,名字空间是C++才有的,C没有。
2.iostream和iostream.h
#include<iostream> // 这个就是1998年标准化以后的标准头文件
#include<iostream.h> // 这个就是标准化以前的头文件
本质上的区别就是:iostream把标准C++库的组件放在一个名位std的namespace里面,所以在使用的时候,就需要在代码前添加using namespace std或者直接声明要使用的名字,using std::Name;
而相对的iostream.h,是C语言格式的,也就是将这些标准组件放在全局空间里,include这个头文件之后,不用namespace的名字域声明,就可以直接使用里面的cout和cin、cerr.....了。(注意:iostream.h,由于是标准化以前的东西,所以只能在支持以前标准的编译器上面使用,例如,VC++6。标准化之后,C++新的标准明确规定不再支持iostream.h,也就是说,新的c++编译器是不支持iostream.h的,vs2010就不支持这个头文件。
<string.h>是c标准库的头文件,里面声明了与字符串相关的操作。比如说,memcpy()、strlen()、strcmp()......
<string>是c++标准库的头文件,里面声明和定义了string类以及其相关操作所以,要想在C++中使用string这个类,则要将此头文件include。也就是因为它是c++的头文件和类,所以在使用string这个标准库的类时,应该用using来声明名字空间,名字空间是C++才有的,C没有。
2.iostream和iostream.h
#include<iostream> // 这个就是1998年标准化以后的标准头文件
#include<iostream.h> // 这个就是标准化以前的头文件
本质上的区别就是:iostream把标准C++库的组件放在一个名位std的namespace里面,所以在使用的时候,就需要在代码前添加using namespace std或者直接声明要使用的名字,using std::Name;
而相对的iostream.h,是C语言格式的,也就是将这些标准组件放在全局空间里,include这个头文件之后,不用namespace的名字域声明,就可以直接使用里面的cout和cin、cerr.....了。(注意:iostream.h,由于是标准化以前的东西,所以只能在支持以前标准的编译器上面使用,例如,VC++6。标准化之后,C++新的标准明确规定不再支持iostream.h,也就是说,新的c++编译器是不支持iostream.h的,vs2010就不支持这个头文件。