【发布时间】:2020-04-30 16:17:23
【问题描述】:
我的问题是关于标题保护的正确语法和使用。例如,如果我在我的 C++ 代码中包含一些常用库,我可以制作如下所示的标头保护吗?此外,从我可以在头文件中找到的文档中,建议将您的标头保护放在头文件中。我正在使用 Microsoft Visual Studio。我可以将我的标头保护和#include 文件放在我的主源文件中吗?或者这是一个不好的做法?我知道您可以使用#pragma 作为标头守卫。但是,这不是一个受支持的标准,所以我尽量避免使用它。
#ifndef HEADER_GUARD
#define HEADER_GUARD
#include <iostream>
#include <fstream>
#include <string>
#include <iomanip>
#endif
任何帮助将不胜感激!
【问题讨论】:
-
不要在除标题之外的任何地方放置标题保护。老实说,缺少预编译的标头集,标头的标头也不是很有帮助。作为一名工程师,您希望查看源文件中的标题列表,并了解正在拉入的内容;看不到您需要单独打开的东西的列表,检查它们拉入了什么。相信我,这将是一个真正的 PITA 三到四层深度。
标签: c++ header include-guards