gpt4 book ai didi

c++ - 需要对#pragma once 做一些澄清

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:01:50 25 4
gpt4 key购买 nike

我搜索了所有关于什么的澄清 #pragma一次对于我仍然有的一些问题,实际上找到了并且无法找到明确的答案。

是 #pragma一次确保包含在其中的头文件仅被调用一次,以及包含在所述头文件中的头文件尚未包含在内?另外,如果只调用一次,是否意味着需要特定 header 的 .cpp 文件将无法访问它?如果头文件标有 #pragma一次并包含在 .cpp 中,该头文件是否可以在其他地方再次使用?

这些是我没有找到的澄清。抱歉,如果有文档在某处澄清这一点,但我真的找不到任何足够具体的东西。

最佳答案

#pragma once 只保护单个翻译单元中的单个文件,不计算其包含的子层次结构。 (但是,如果文件的第二次包含被阻止,它就没有机会重复包含任何其他内容。)

您仍然可以从另一个 .cpp 中再次包含它。

文件通常由其 inode 编号标识。

请注意 #pragma once 严格来说是非标准的,大多数人仍然更喜欢传统的 #ifndef header 保护。

关于c++ - 需要对#pragma once 做一些澄清,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21843520/

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