C++标头保护语法和标头放置
C++ Header Guard Syntax and Header Placement
我的问题是关于标题保护的正确语法和使用。例如,如果我在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
,但它不是语言标准,并且不能保证何时从远程位置和不同的磁盘引用文件。
相关文章:
- 有充分的理由在h文件中使用include保护而不是cpp文件吗
- 为什么在保护模式下继承升级不起作用
- 访问被拒绝后,c++中的故障保护代码
- C++:无法访问声明的受保护成员
- 为什么您需要C++头文件的包含保护
- lock_guard是否保护返回值
- 如何在GTK程序运行时禁用屏幕保护程序/电源管理/屏幕消隐
- 继承和友元函数,从基类访问受保护的成员
- 为什么派生类的好友不能使用受保护的成员?
- C++:为什么无法在派生类中访问受保护的构造函数?
- 公共/私有/受保护是否会更改内存中结构的排列?
- 所以我正在为我的学校作业练习继承,但我无法正确实施标题保护
- C2011: 'Card':"类"类型重新定义(尽管使用了包含保护并且没有在文件中重新定义.cpp类)
- 在父类中公开受保护的构造函数
- 如何从其他结构访问受保护的结构变量
- C++标头保护语法和标头放置
- 如何实现返回受保护结构的私有函数
- 相同的层次结构,访问基类的受保护成员时的行为不同
- 使用标头保护的多个定义链接错误
- 从模板化父类中的派生内部类访问受保护的成员变量