【发布时间】:2010-10-31 06:57:15
【问题描述】:
当编译器需要知道一个 C(类)的大小时 对象:例如,当分配一个 C 在堆栈上或作为直接持有 另一种类型的成员
来自C++ 编码标准:101 条规则、指南和最佳实践
这是否意味着对于堆分配的对象,大小不是必需的?
Class C;//just forward declaration
C * objc = new C();
【问题讨论】:
-
你问的是C++还是C?请编辑您的问题以澄清这一点。
-
引文中的“你”是谁?作为程序员,你几乎不需要知道它。编译器有。我认为引用缺少上下文,以至于无法回答您的问题。
-
基于标签(声明,定义),这句话试图解释为什么有时需要定义类型,而不仅仅是声明。因此,您很可能是编译器。
-
道歉延迟回复现在可以了吗?
-
前向声明用于没有分配的头文件中。在执行分配之前,您必须包含类的完整定义,无论它是在堆上还是在堆栈上。
标签: c++ heap-memory definition forward-declaration