黑马程序员技术交流社区
标题: objective-c中的文件包含 [打印本页]
作者: nsswift 时间: 2015-5-24 09:00
标题: objective-c中的文件包含
本帖最后由 nsswift 于 2015-6-12 17:24 编辑
C语言和C++中我们都使用#include来包含头文件,但是这样我们容易一个头文件可能被包含多次,这样就需要我们用#ifndef,#end这样的宏定义来避免文件重复引用的问题。
Objective-C中则使用了#import来包含头文件,这样一个头文件就只能包含一次,直接避免了c语言和c++中使用#include文件重复引用。
@class和#import 的区别:
#import会包含这个类的所有信息,包括实体变量和方法,而@class只是告诉编译器,其后面声明的名称是类的名称,至于这个类是如何定义的,暂时不用考虑。
比如在.h文件中我们只需要知道被引用的类的名称就可以了,不需要调用实体变量和方法,所以.h文件一般只需要@class来声明这个名称是类的名称,头文件中使用@class不仅效率高(比如类文件更改其他包含这个类的都需要重新加载),同事还可以解决循环引用的问题。而在.m文件里边因为会用到这个引用类的内部的实体变量和方法,所以需要使用#import来包含这个被引用类的头文件。
作者: 天是蓝色的 时间: 2015-5-24 10:21
不错,菜鸟前来学习
作者: 649678291 时间: 2015-5-24 10:33
#include<stdlib.h>你这个头文件用到那个函数了?
作者: 649678291 时间: 2015-5-24 10:34
#include<stdlib.h>你这个头文件用到哪个函数了?
作者: nsswift 时间: 2015-5-24 10:46
你好,我做调试的时候最后有 system("pause");
我一般喜欢在程序最后加上这个,执行完以后会停在那里省去做断点
我发的时候觉得这句不影响算法就删掉了,
system("pause");这个用到了#include<stdlib.h>
作者: cui0wei0 时间: 2015-5-24 14:08
学C语言最好不要用Windows做的东西
作者: 张晓珊 时间: 2015-5-24 16:18
最后输出是应该写为——printf("1~100中所有7的倍数的个数为%d。\n", count);——这样,只输出count的值,用户怎么知道输出个这玩意儿是什么意思啊!用户体验非常重要的,要从小的细节开始注意!
作者: 行知灬哒 时间: 2015-5-24 16:35
支持一下 这道题还可以再加点难度,包含7的,能被7整除的,楼主可以试下
作者: mony 时间: 2015-5-24 17:50
100/7 不就是结果么 {:3_50:}
作者: hi虚无缥缈 时间: 2015-5-24 19:07
不错,多分享.
作者: woaidd99 时间: 2015-5-24 21:06
不错思路 值得学习
作者: jingkai 时间: 2015-5-24 21:22
基础测试里的题吧少年
作者: hehelaicaicai 时间: 2015-5-24 22:24
for(int i=0;i<=100;i++) 这里应该是for(int i=1;i<=100;i++)吧?
作者: 追随自然 时间: 2015-5-24 22:27
菜鸟报道!
作者: Never_Yg 时间: 2015-5-24 22:41
看看学习下
作者: kansiliyundi 时间: 2015-5-24 22:48
学习了,大家很努力嘛
作者: zhangshuai 时间: 2015-5-25 15:14
#include<stdlib.h>
这个头文件没有用到吧?
作者: badbaby 时间: 2015-5-26 19:33
都是菜鸟。。。。。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |