gpt4 book ai didi

c++ - #pragma once 添加包含保护吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:27:46 27 4
gpt4 key购买 nike

#pragma once 不是标准的,但是 gcc 和 VC++ 等编译器支持。它有助于避免包含保护。

但是,在内部,编译器是否为 #pragma once 添加了包含保护?如果不是,编译器如何确保只包含一次这样的 header ?

最佳答案

我确定它的工作方式就像 PHP 中的 include_once - 有一个“已包含的文件”表。在这种情况下,编译器会在列表中查找要包含的文件,如果文件已经包含,则不再包含它。如果编译器在处理文件时看到 #pragma once,则将此文件添加到“已包含的文件”。

所以它在细节层面上与包含保护不一样,但它与包含保护具有相同的效果。它还使代码的可移植性降低,因为有很多编译器不支持它。

关于c++ - #pragma once 添加包含保护吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17749321/

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