包括定义的警卫here,用于防止在编译时两次加载相同的代码。
为什么我的编译器 (GCC) 无法检测到它正在加载相同的代码两次并具有合理的默认行为?
仅仅是因为您可能希望编译器加载该文件两次。
请记住,那个#include
只需加载一个文件并将其内容放在指令的位置即可。该文件可能是头文件,但也可能是有用且经常使用的源代码。
大多数现代编译器都会做出反应#pragma once
完全按照您的意愿行事。但请记住,这是一个未包含在语言规范中的编译器扩展,并且坚持包含防护通常是一个好主意 - 您可以确定它适用于每个编译器和任何情况。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)