C++中的<string.h> <string> <cstring> 这三个头文件比较容易产生混乱,现将其关系整理如下:
1、C语言与C++库文件的区别与联系:
(1)一般来说,在C中存在一个以.h结尾的头文件,在C++中都有一个没有.h结尾,而名字相同的头文件与之对应。例如,C中:"iostream.h"与C++中 <iostream>对应;
(2)二者的区别:C++中采用了命名空间机制,因此原来在C风格头文件中的很多变量名定义,在C++风格头文件中都改到了命名空间中;
2、"string.h”与<cstring>是一个特例。<cstring>是"string.h"的C++提升版,但它们的名字与1、中所提到的有区别。这是因为,在C++中,<string>这个头文件名已经被占用了。
<string>中是关于C++中的string类的定义。