我一直在尋找的恐懼SDK爲我的大學項目,但已經注意到像這樣一些代碼:爲什麼包含一個頭和前向聲明包含在同一個cpp文件中的類?
foo.h中
class Foo
{
public:
int iSomething;
};
Bar.cpp:
#include "Foo.h"
// Forward declarations
class Foo;
是有任何特別的理由來轉發申報和包括相應的頭文件在同一個cpp文件?或者是因爲包含標題而導致前向聲明是多餘的?
編輯:
每次我都在代碼中看到它的時候,包含語句總是向前聲明之前。
你能詳細說明一下嗎?我原本寫了這個完全相同的東西,但後來我想了一些更多的關於它,並認爲如果酒吧前鋒 - 宣佈美孚,然後立即#includes Foo.h,它應該a)始終導致Foo的宣言,無論如何,和b)從不依賴於已經聲明Foo的另一個頭。你可以舉一個例子,說明在#include之前進行前向聲明實際上有幫助嗎? – mgiuca 2011-02-08 02:04:01