c++中头文件<string.h> <string>有什么区别麽?还有<cmath> <math.h>

如题所示,c++中头文件<string.h> <string>有什么区别麽?还有<math> <math.h>
编译器都能过,请指教。

阅读 5.2k
3 个回答

<string.h> C版本的头文件。
<string> C++标准定义的头文件,它定义了一个string的字符串类,里面包含了string类的各种操作。而且<string>又包含了老的C版本的字符串操作如strcpy、strcat等,这就相当于,在<string>的文件中除了定义自己的string类之外,还加了一个#include<string.h>一句包含了C版本的字符串操作。

<math>、<math.h>的关系同上。

<string.h>对应的C++头文件是<cstring>
<math.h>对应的C++头文件是<cmath>
<string>是C++ std::string
<math>我也不知道是什么

新手上路,请多包涵

楼上+1.
而且,在C++11里面,如果你加.h应该会警告或者报错吧?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题