首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
林之海
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
12
文章 12
沸点 0
赞
12
返回
|
搜索文章
赞
文章( 12 )
沸点( 0 )
数据结构与算法(3)- 双向链表
一、双向链表1、双向链表结构1)双向链表结构定义2)创建双向链表3)打印循环链表的元素4)双向链表插入元素5)删除双向链表指定位置上的结点6)删除双向链表指定值的结点删除思想跟第五差不多,但是实现方法
OC 底层原理(5)- 对象原理(isa 的走位分析,对象的本质)(随记)
根据上图我们可以确定的是,类在内存里面只会存在一份。那接下来就分析一下类的内存结构(见下图) 由上图可以看到,类的第一个内存地址竟然也是LGPerson,难道又绕回去了?当然不是,我们可以称类的第一个内存所指向的为元类。 现在就出现了3个名词:对象,类,元类。 对象:根据类实例…
数据结构与算法(1)- 数据结构基本概念、线性结构顺序存储于链式存储
1)数据:程序的操作对象,用于描述客观事物。特点,可以输入到计算机并可以被计算机处理。 2)数据元素:组成数据的对象的基本单位。 3)数据项:一个数据元素由若干数据项组成。 4)数据对象:性质相同的数据元素的集合(类似与组成)。 5)数据结构:指的数据对象中的数据元素之间的关系…
数据结构与算法(2)- 单向循环链表
一、链表模型二、定义结点三、循环链表创建第一种方法:第一种方法:四、遍历循环链表五、循环链表插入元素五、循环链表删除元素六、循环链表查找元素1、根据值查位置2、根据位置查值
OC 底层原理(1)-对象原理( 对象的创建)(随记)
从结果可以总结为,p1,p2,p3 指向同一个内存空间,但创建出来的三个对象的指针地址是不同的。 因为 alloc 创建实例对象的同时也申请了一块内存空间,p1,p2,p3是分配的3个对象的指针,因此 p1,p2,p3 属于同一个对象并都指向这块内存空间。 2)第二种方式:选择…
OC 底层原理(2)- 对象原理(内存对齐与 calloc 分析)(随记)
由 0x0000001200006261 可以引出内存优化---内存拼接和内存对齐。 储。 成员的整数倍.不足的要补⻬。 上图打印不同的数据结构,数据结构内所存的数据内容一样,但排序不一样,数据结构所占的内存大小也不一致(---二进制重排接与内存对齐)。 注:LGPerson …
下载并配置alloc所在的动态库开源的源码(objc)
搜索objc,选择要下载的版本。 3)查看报错信息,下载缺少头文件,并将下载的include 放到工程中。下载链接: https://pan.baidu.com/s/1CwO56Rpl9mtT3gp-Ruql6w 提取码: qwfn
OC 底层原理(3)- 对象原理(isa关联类,联合体,位域分析 )(随记)
根据上图看 !nonpointer 是,其中只对 cls 赋了值,然后就没有其他信息了,再看 else 的内存可以看到的是,除了 shiftcls 还有其他信息,比如bits,has_cxx_dtor,这就是 !nonpointer 判断的意义点了 。 首先我们看到这个结构体是…
OC 底层原理(4)-对象原理( 符号表绑定,objc_alloc探索,isa关联对象与类)(随记)
在第一篇中有贴出过 alloc 实现的整个流程图,alloc -> _objc_rootAlloc -> callAlloc -> ... 那为什么会出现这个情况呢,这是因为在系统里面本身就做了一个符号绑定。 就相当于 objc_alloc 绑定到了 alloc 的 sel;换…
OC底层原理(8)-cache_t原理(随记)
0x100002658 + 0x10 = 0x100002668;因为0x100002668是cache_t的指针地址,所以读取地址时需要加(cache_t *) 进行转换,最后我们看到cache_t 的内容。看到只有 _buckets 有内容,于是就开始打印 很神奇的发行啥也…
下一页
关注了
1
关注者
0
收藏集
0
关注标签
0
加入于
2020-04-04