问题描述
如题所示,c++中头文件<string.h> <string>有什么区别麽?还有<math> <math.h>编译器都能过,请指教。
问题解答
回答1:<string.h> C版本的头文件。<string> C++标准定义的头文件,它定义了一个string的字符串类,里面包含了string类的各种操作。而且<string>又包含了老的C版本的字符串操作如strcpy、strcat等,这就相当于,在<string>的文件中除了定义自己的string类之外,还加了一个#include<string.h>一句包含了C版本的字符串操作。
<math>、<math.h>的关系同上。
回答2:<string.h>对应的C++头文件是<cstring><math.h>对应的C++头文件是<cmath><string>是C++ std::string<math>我也不知道是什么
回答3:楼上+1.而且,在C++11里面,如果你加.h应该会警告或者报错吧?

