C 中 Typedef 的前向声明
从直觉上看,typedef 的前向声明是可能的,因为它是一堂课。但是,编译器不会允许这样做。相反,有必要转发声明 typedef 引用的类型。
例如,假设我们要为名为 A 的类创建一个 typedef:
typedef A B; // error: 'A' was not declared in this scope
要解决此问题,我们必须首先向前声明类 A:
class A; typedef A B; // valid
这允许我们稍后在代码中引用类型 B,即使 A 的完整定义是还不知道。
最小化包含树的最佳实践
由于我们无法转发声明 typedef,因此保持包含树较小的最佳实践是仅包含标头当前编译单元所必需的。这可以通过使用包含防护并仔细管理标头之间的依赖关系来实现。
以上是为什么我不能在 C 中转发声明 Typedef ?的详细内容。更多信息请关注PHP中文网其他相关文章!