2012-02-27 79 views

回答

10

如果頭文件具有傳統的include guards,那麼使用哪一個並不重要,它更像是一種風格選擇。如果您使用#import而不是#include,但可能會有一個微小的性能提升,但我懷疑它會顯着,因爲大多數編譯器這些天都足夠聰明,可以識別包含防護並相應地進行優化。

如果,另一方面,頭文件不有包括警衛,那麼你應該總是使用#import,因爲#import將確保頭只會被包含一次 - 如果你不小心#include這樣的標題兩次,你幾乎肯定會得到編譯器錯誤的約重定義等

由於大多數的Objective-C頭文件氾濫(特別是那些從Objective-C運行或可可頭推出)沒有包括守衛,你應該使用包括那些在內的#import。從第三方庫中包含標準C庫標題或標題時,選擇哪種風格並保持一致並不重要。

6

使用#import。它的優點是,如果已經包含文件,它不會「重新包含」文件。

5

始終使用#import - 這將確保相同的頭文件是永遠不會#include倒是兩次。