gpt4 book ai didi

c++ - #pragma once 与包括 guard ?

转载 作者:bug小助手 更新时间:2023-10-28 01:31:38 27 4
gpt4 key购买 nike

我正在开发一个已知只能在 Windows 上运行并在 Visual Studio 下编译的代码库(它与 excel 紧密集成,所以它不会去任何地方)。我想知道我是否应该使用传统的包含守卫或使用 #pragma once 作为我们的代码。我认为让编译器处理 #pragma once 会产生更快的编译速度,并且在复制和粘贴时更不容易出错。它也稍微不那么丑 ;)

注意:为了获得更快的编译时间,我们可以使用 Redundant Include Guards但这增加了包含文件和包含文件之间的紧密耦合。通常没关系,因为防护应该基于文件名,并且只有在您需要更改包含名称时才会更改。

最佳答案

我认为它不会对编译时间产生显着影响,但 #pragma once 得到了很好的跨编译器支持,但实际上并不是标准的一部分。预处理器可能会更快一些,因为它更容易理解您的确切意图。

#pragma once 不容易出错,而且需要输入的代码也更少。

要加快编译时间,只需转发声明而不是尽可能包含在 .h 文件中。

我更喜欢使用 #pragma once

查看 wikipedia article about the possibility of using both .

关于c++ - #pragma once 与包括 guard ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1143936/

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