在 C++ 开发过程中,经常会遇到两个容易混淆的头文件引用:#include <string.h> 和 #include <string>。两者的主要区别如下:
1. 语言标准与操作对象
#include <string.h>:属于 C 语言标准库,主要用于基于char*的字符串操作。常见的字符串操作函数如stpcpy、strcat等均在此头文件中声明。#include <string>:属于 C++ 语言标准库,定义了std::string类。包含此头文件后可定义字符串对象,例如std::string str;,后续操作基于该对象进行。
2. 使用建议
在开发代码时:
- 若需使用
stpcpy、strcat等对char*空间进行操作,应包含<string.h>。 - 若需定义
string对象,应包含<string>。 - 若两种操作都需要,则两个头文件均需包含。
记忆技巧:C++ 中的标准库头文件一般不带 .h 后缀,例如 <iostream>。

