#import和#include和@class的區別是什么?

(1)#import對比#include來說能保證文件只被引用一次。

例如:A文件#include了C文件,B文件也#include了C文件,這時候D文件同時#include A文件和B文件就會出錯,因為這樣就重復引用了C文件。如果使用#import就不會出錯,因為#import會判斷是否已經引用過,引用過就不會再引用。

(2)@class解決了相互引用的問題,當A需要#import B,同時B又需要#import A的時候,如果兩邊都用#import的話,會編譯錯誤。這時候一邊可以使用@class,@class就是告訴編譯器有這么一個類,至于類的定義是啥不知道。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 3、請說明一下objective-c中#import 、#include 及@class的區別?#import<>...
    AlanGe閱讀 976評論 0 0
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,740評論 18 399
  • *面試心聲:其實這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個offer,總結起來就是把...
    Dove_iOS閱讀 27,200評論 30 471
  • #import與#include的區別 #import比起#include的好處就是不會引起交叉編譯 for ex...
    myjourney閱讀 343評論 0 0
  • 一、#include與#import區別 1. #include <xxx.h> 2. #import <xxx....
    single_heart閱讀 5,386評論 7 14