在 C++ 项目中包含标准头 string.h 的最佳方式是什么?在末尾使用 [dot]h,如下所示:
#include <string.h>
或者只是写
#include <string>
或者,也许,使用另一种我不知道的方式?
谢谢!
这是两个不同的标题。
<string>
用于 c++std::string
类<string.h>
用于 c 字符串函数(如strlen()
等),它应该<cstring>
用于 c++ 项目(这是第三个,你不知道)。它完全不同!
<string.h>
这个用于 C 风格字符串的库
<string>
对于 C++ 字符串
按照 C++ 中的标准,您应该<cstring>
改用<string.h>
维基说:
C++ 标准库还包含以“.h”结尾的 ISO C90 C 标准库的 18 个标头,但不推荐使用它们。C++ 标准库中的所有其他头文件不以“.h”结尾。
C 标准库中的每个标头都以不同的名称包含在 C++ 标准库中,通过删除 .h 并在开头添加“c”生成;例如,“time.h”变成“ctime”。
string is c++ stl headfile provide the template class ‘string’ string.h is c standard headfile provide many function to use. like strlen strcpy memcpy. if you want use in namespace std,which is not use globe namespace or not want to use string.h you can use cstring instead.
头*.h
文件通常是 C 头文件,您可以在 C++ 中使用,也许可以通过extern "C" { ... }
包装
没有任何标题的标题*.h
通常是真正的 C++ 标题。
这只是一个经验法则。
最新和以前的 C++ 标准(c++11、C++03)定义<cstdio>
了头文件,例如正确包装原始 C 头文件、使用命名空间等。
标准是
#include <string>