黑马程序员技术交流社区

标题: O-C头文件重复包含 [打印本页]

作者: 李坤小太阳    时间: 2015-11-12 22:17
标题: O-C头文件重复包含
OC里边import引入的头文件,可以防止重复包含,是什么意思?
作者: 正在输入中...    时间: 2015-11-12 23:52
本帖最后由 正在输入中... 于 2015-11-12 23:53 编辑

就是比如你在.m文件中 多次import "hello.h",这样就是重复包含,一般的话在一个文件中我们不会这样写,但是在实际开发中,继承层次比较多,在个层次中都包含了一个头文件就是重复包含啦。
作者: 能不能行    时间: 2015-11-13 21:34
学习学习
作者: Morning_jcg    时间: 2015-11-14 18:50
一个头文件里被包涵了多遍,如果没有做防止重复包涵的操作,比如#ifndf #endif,用include的话就会出现重复包涵。
作者: Morning_jcg    时间: 2015-11-14 18:53
重复包涵为什么会出错,其实逻辑很简单,同一个类型、名字的变量和函数只能申明一次,写在头文件里的申明包涵一次就被申明一次,重复包涵就重复申明,就会出错。
作者: Morning_jcg    时间: 2015-11-14 18:54
然而#import引入的头文件会自动检测是否重复包涵,方便好用。嗯,以上。
作者: 勇猛的小黑    时间: 2015-11-14 22:01
楼上讲的很详细 。不能重复声明。。厉害厉害
作者: 庐山烟雨浙江潮    时间: 2015-11-14 22:03
为什么重复包含会出错?
因为你一个变量如果定义两变的话,编译器就会报错。

引入头文件,就像把头文件里面所有的内容复制到当前文件里面一样,多复制了就会导致重复定义问题,而import可以有效的防止引入两次头文件报错的情况
作者: 江流石不动    时间: 2015-11-14 22:15
{:2_30:}{:2_30:}{:2_30:}
作者: huihui1030    时间: 2015-11-15 00:34
这个问题我也还没想通,,求大神来帮忙。。。
作者: cube川    时间: 2015-11-15 12:18
楼上讲的很清楚啊




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2