C ++应该在头文件和源代码中包含字符串

时间:2018-06-19 09:48:39

标签: c++

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

我的班级源文件已包含多一次?

1 个答案:

答案 0 :(得分:3)

正如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文件中包含标题多次。

所有标准库都已经这样做了,您实际上可以在header / cpp文件中执行此操作,并且它将仅用于ONCE:

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