gpt4 book ai didi

c++ - 为什么包括 guard ?

转载 作者:IT老高 更新时间:2023-10-28 22:23:25 33 4
gpt4 key购买 nike

包括 guard ,定义为 here , 用于防止在编译时两次加载相同的代码。

为什么我的编译器 (GCC) 无法检测到它两次加载相同的代码并具有合理的默认行为?

最佳答案

仅仅是因为您可能希望编译器加载该文件两次。

请记住,#include 只是加载一个文件并将其内容放在指令的位置。该文件可能是头文件,但也可能是有用且经常使用的源代码。

大多数现代编译器都会对 #pragma once 使用react,完全按照您的意愿行事。但请记住,这是一个未包含在语言规范中的编译器扩展,并且坚持包含保护通常是一个好主意 - 您可以肯定,它适用于每个编译器和任何情况。

关于c++ - 为什么包括 guard ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21090041/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com