C++应在标头和源中包含字符串

C++ should include string in header and source

本文关键字:包含 字符串 C++      更新时间:2023-10-16

所以我有一个主源文件和一个我的类头文件,我的类源
文件主源文件包括我的类头文件,一切正常。
现在我想将字符串库添加到我的类头文件中,但它已经
包含在主源文件中,我不确定它是否会被包含两次。
主要来源有包含字符串,我的类头文件有包含字符串吗 获取包含更多包含字符串。

我的类源文件包含不止一次?

正如Ron和StoryTeller指出的那样,您希望在头文件中使用"标头保护":

#ifndef YOURMODULENAME_YOURHEADERNAME_H_MAYBESOMESALT
#define YOURMODULENAME_YOURHEADERNAME_H_MAYBESOMESALT
// here you can put code (and maybe other includes) 
// that will only be included ONCE for the whole project
#endif //YOURMODULENAME_YOURHEADERNAME_H_MAYBESOMESALT

现在,您可以安全地在 CPP 文件中包含标头多次时间。

所有标准库都这样做了,您实际上可以在头/cpp文件中执行此操作,并且它只会使用一次:

#include <string>
#include <string>
// ... as often as you like ...
#include <string>