gpt4 book ai didi

c - 在每个源文件中包含 header 的缺点(Objective-C)

转载 作者:太空宇宙 更新时间:2023-11-03 23:36:21 31 4
gpt4 key购买 nike

我目前使用 MyApp_Prefix.pch 前缀 header 将我的 AppDelegate.h 和所有类别 header 包含到我的每个源文件中,而不是手动#import仅在使用它们的地方使用它们。我的应用程序委托(delegate)中的类别方法和许多编译器 #define 在我的代码中的很多地方使用。

这有什么缺点吗?只是编译时间会变长吗?

最佳答案

源代码级依赖。通过有效地将 header 导入每个源文件,这意味着每个源文件都可能依赖于它,但依赖性是不可见的。源代码级别的依赖关系是阴险的。当您不注意时,它们会悄悄爬上来,然后很难将它们解开。他们可能会引入其他问题,例如包含文件排序问题。

OTOH 对于小型项目来说,在很多时候这可能不是一个大问题。

尽管如此,就我个人而言,我习惯于从不不必要地依赖另一个源文件——这意味着我的头文件很少#import 其他(非框架)头文件。在 Objective-C 中,您通常可以比 C++ 更干净地执行此操作,因为您始终通过指针保存 Objective-C 对象,因此它们只需要在 header 中进行前向声明。

关于c - 在每个源文件中包含 header 的缺点(Objective-C),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2848943/

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