include & import & class

#include

  • include <>:用于引入系统自带的头文件,编译器会在系统文件目录下查找该文件
  • include "":用于引入用户自定义头文件,编译器会在用户目录下查找,然后在安装目录下查找,最后在系统文件中查找

缺点:重复引用


例:四个头文件:a.h b.h c.h d.h,如果b c 都引入了a, d引入了b, c, 则编译提示对于a 重复引用错误

解决方法:

#ifndef _CLASSC_H
    #define _CLASSC_H
    #include "ClassC"
#endif

#import

  • import <>:用于引入系统框架
  • import "":用于引入自己创建的头文件
    优点:不会出现重复引用错误

@class

  • 用于声明一个类,告诉编译器他后面是一个类,但是对于类的具体实现不需要知道,可以用来创建该类的实例变量
  • 一般用于h文件中,在m文件中任然需要import引入文件

总结

  • include与import在引用一个类的时候会包含这个类的所有信息包括变量方法等,但是这样做会对编译效率造成影响
  • include与import会出现交叉引用的问题
  • 使用@class可以提高编译效率,但是如果需要访问指定类的成员变量或方法,还是需要用import
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容