c++中的前向声明
前向聲明:
可以聲明一個類而不定義它。這個聲明,有時候被稱為前向聲明(forward declaration)。在聲明之后,定義之前,類Screen是一個不完全類型(incompete type),即已知Screen是一個類型,但不知道包含哪些成員。不完全類型只能以有限方式使用,不能定義該類型的對象,不完全類型只能用于定義指向該類型的指針及引用,或者用于聲明(而不是定義)使用該類型作為形參類型或返回類型的函數。
類的前向聲明之適用于指針和引用的定義,如果是普通類類型就得使用include了。
?
?
?
前向聲明好處是:?
不必要的#include?? 會增加編譯時間.?
混亂隨意的#include可能導致循環#include,可能出現編譯錯誤.
?
來自 <https://blog.csdn.net/heyutao007/article/details/6649741>
- A* m_a; //(或者A m_a)
- }
- public:
- {
- class B
- #include "A.h"
- A* m_a; //(不能A m_a)
- }
- public:
- {
- class A;
- class B
總結
- 上一篇: 优秀的产品经理和一般的产品经理之间的区别
- 下一篇: 2021凯络趋势报告