我的问题是关于标题保护的正确语法和使用。例如,如果我在C++代码中包含一些通用库,我可以像下面显示的那样制作一个标头保护吗?此外,从我可以找到的头文件文档中,建议将头保护放在头文件中。我正在使用Microsoft Visual Studio。我可以只将标头保护和 #include 文件放在我的主源文件中吗?还是这是一种不好的做法?我知道你可以用 #pragma 充当头球后卫。但是,这不是受支持的标准,因此我试图避免使用它。
#ifndef HEADER_GUARD
#define HEADER_GUARD
#include <iostream>
#include <fstream>
#include <string>
#include <iomanip>
#endif
任何帮助将不胜感激!
不应在源代码 (.cpp( 文件中编写标头保护。
我们也应该避免双头护卫 在C++中使用双包含护罩
标头保护是为了避免在编译代码期间多次包含标头文件。
另外,在添加 #include 文件时,请记住,我们不应该在那里添加不需要的文件。 例如 如果源文件需要#include <iostream>
但包含在头文件中,请考虑这种情况,则应避免这种情况。这种情况仅在源文件中#include <iostream>
。
许多编译器都支持#pragma once
,但它不是语言标准,并且不能保证何时从远程位置和不同的磁盘引用文件。