历史说明
string.h是C语言中字符串操作函数的头文件
cstring是c++对C语言中的strcpy之类的函数申明,包含cstring之后,就可以在程序中使用C语言风格的strcpy之类的函数。
string是c++语言中string类模板的申明
所以不要以为包含了cstring,就可以定义string s,还是要加上#include<string>
所以不要以为报了了cstring,就可以直接使用strcpy,还是要加上命名空间std::strcpy
标准委员会决定为包装了std 的那
部分标准库构件创建新的头文件名。生成新头文件的方法仅仅是将现有C++头
文件名中的.h 去掉,方法本身不重要,正如最后产生的结果不一致也并不重
要一样。所以 <iostream.h>变成了 <iostream>, <complex.h>变成了 <complex>,
等等。对于C 头文件,采用同样的方法,但在每个名字前还要添加一个c。所
以C 的 <string.h>变成了 <cstring>, <stdio.h>变成了 <cstdio>,等等
问题
1error: ‘memset‘ was not declared in this scope
出现这种情况的原因是缺少头文件:
C:#include <string.h>
C++:#include <cstring>