---------------------- IOS开发、Android培训、期待与您交流! ----------------------
一、autorelease
autorelease与release相似,是OC中的一个对象方法。这两个方法都能把对象的引用计数器减1,但是release是一个精确的减1,对对象的操作只能在release之前进行,如果是在之后,就会出现野指针错误;而auto...
分类:
其他好文 时间:
2014-05-12 06:19:57
阅读次数:
354
1:类的本质:类也是一种类,可以叫做类类,类对象,类类型;
2:类和对象在内存中分配问题(注意区分类的对象和类对象的概念) 类对象在内存中只有一份,且只加载一次,类对象中存放了类中定义的方法;
而成员变量和isa指针,存放在了类的对象中;isa指针指向了类对象;如图: 3...
分类:
其他好文 时间:
2014-05-12 02:52:39
阅读次数:
263
在学习linux下编程时,不可避免的要学C了,下面先简单写写C下对C++中的类的模拟。我们要用到的是
struct和函数指针,不懂的同学自行搜索这两个东东,我现在只写我的第一个实现,更多实现方式我会稍后补充。首先先上代码: 1 #include 2
#include 3 4 struct Swen....
分类:
编程语言 时间:
2014-05-12 02:45:26
阅读次数:
279
NSLog 的格式如下所示:? %@ 对象? %d, %i 整数? %u 无符整形? %f
浮点/双字? %x, %X 二进制整数? %o 八进制整数? %zu size_t? %p 指针? %e 浮点/双字 (科学计算) ? ...
分类:
其他好文 时间:
2014-05-12 00:10:29
阅读次数:
244
1、成员变量成员变量可以是任何类型,如基本数据类型、引用、另一个类的对象或指针、自身类的引用或指针,但不能是自身类的对象;成员变量不能指定为auto、register、extern
存储类型。1.1、普通成员变量普通成员变量是属于对象的,其生命周期就是对象的生命周期,只能通过构造函数的初始化列表进行...
分类:
编程语言 时间:
2014-05-11 23:34:34
阅读次数:
485
oc没有java的垃圾回收机制,所以对象的内存释放很重要,基本数据类型,我们不用理会,编译器会处理;oc的每个对象内部都由一个计数器,用来记录当前有几个指针在指向该对象;当计数器为0时该对象会从内存中释放;相关方法和概念:1:retain:对象方法,调用该对象方法,计数器+1,有返回值,返回对象本身...
分类:
其他好文 时间:
2014-05-11 23:17:09
阅读次数:
299
不要将一个字符串直接传递给一个函数或者赋值给一个char*类型的指针,除非你知道这个字符串中的字符的内容不会被改变
分类:
其他好文 时间:
2014-05-11 15:36:40
阅读次数:
158
如果C同时派生了基类A和基类B,那么C的对象的内存是如何分布的呢?基类指针pa和基类指针pb对这块派生类C对象的内存所存储的内容又做和解析?或者说pa和pb指向的地址是否是C对象的首地址呢?
1.继承是按照类为整体进行组织的,且如果有继承虚函数,那么将有多余的一个虚函数表指针。
2.基类指针指向派生类后,同样是按照指针强制转化原则来解析派生类对象的部分区块内容(指针截断)
3.多继承中,各个基类的指针指向派生类后,各自基类指针指向的是派生类中与本身基类相关的派生类区块首地址。...
分类:
其他好文 时间:
2014-05-11 15:10:19
阅读次数:
309
一.如何动态分配多维数组?
1.分配一个指针数组,然后把每个指针初始化为动态分配的行
代码如下:
int **array = (int **)malloc(ROW * sizeof(int*));
int i = 0;
for(i=0; i<ROW; i++){
array[i] = (int *)malloc(COL...
分类:
编程语言 时间:
2014-05-11 15:09:16
阅读次数:
349
挺有意思的一道题目,属于我之前没有总结到的情况,他在修改数组的时候用到了第三个指针。
如果是两种颜色的话,大家肯定都会做,直接一头一尾两个指针,扫描到不属于自己同类的就互换。这个题有了第三者,怎样来解决这个问题呢?想一下在一个数组中,怎样才能做到线性时间的修改,必须一次性或者常数性的把当前元素替换到他最终应该待的位置,要么复杂就上去了。那当前元素应该呆在那里呢?如果是0的话,应该呆在数组前面都是...
分类:
其他好文 时间:
2014-05-11 06:44:31
阅读次数:
259