码迷,mamicode.com
首页 >  
搜索关键字:源码剖析    ( 888个结果
1w+的心路历程
鬼知道我是如何坚持下来的,如果非要找个理由,那或许是所谓的热爱。 公众号转眼间写了三年。写的内容围绕着安卓技术,源码剖析,生活感悟,职场人生。 很庆幸的是,得到大家的支持,每一条留言都会是一次交流,看着后台用户有来有去,这才是该有的节奏。 这就如同呼吸一样,说明我的公号有生命力。借着这个时机,想聊聊 ...
分类:其他好文   时间:2019-10-23 00:10:46    阅读次数:93
STL源码剖析——Iterators与Traits编程#5 __type_traits
上节给出了iterator_traits以及用到traits机制的部分函数的完整代码,可以看到traits机制能够提取迭代器的特性从而调用不同的函数,实现效率的最大化。显然这么好的机制不应该仅局限于在STL里面使用,在前某一节中我们也有说到,traits机制能够萃取类的特性,而这个类分为两个类别,一 ...
分类:其他好文   时间:2019-10-21 21:01:41    阅读次数:96
STL源码剖析——iterators与trait编程#3 iterator_category
最后一个迭代器的相应类型就是iterator_category,就是迭代器本身的类型,根据移动特性与实行的操作,迭代器被分为了五类: Input Iterator:这种迭代器所指的对象,不允许外界改变。只读(read only)。 Output Iterator:唯写(write only) For ...
分类:其他好文   时间:2019-10-21 20:43:46    阅读次数:120
STL源码剖析——iterators与trait编程#2 Traits编程技法
在算法中运用迭代器时,很可能用到其相应类型。什么是相应类型?迭代器所指对象的类型便是其中一个。我曾有一个错误的理解,那就是认为相应类型就是迭代器所指对象的类型,其实不然,相应类型是一个大的类别,迭代器所指对象的类型只是里面的其中一个。后面会讨论到相应类型的另外几种。 假设算法需要声明一个变量,以“迭 ...
分类:其他好文   时间:2019-10-21 20:42:58    阅读次数:113
STL源码剖析——iterators与trait编程#1 尝试设计一个迭代器
STL的中心思想在于:将数据容器与算法分开,独立设计,再用一帖粘着剂将它们撮合在一起。而扮演粘着剂这个角色的就是迭代器。容器和算法泛型化,从技术角度来看并不困难,C++的模板类和模板函数可分别达成目标,但如何设计出两者之间良好的粘着剂,才是大难题。 我们可以来尝试一下自己设计一个迭代器,看途中会遇到 ...
分类:其他好文   时间:2019-10-21 20:40:56    阅读次数:102
STL源码剖析——iterators与trait编程#4 iterator源码
在前两节介绍了迭代器的五个相应类型,并讲述如何利用traits机制提取迭代器的类型,但始终是把iteartor_traits类分割开来讨论,这影响我们的理解,本节将给出iteator的部分源码,里面涵盖了整个iteartor_traits泛化版本、偏特化版本以及一些算法的完整代码。重新把先前讲的知识 ...
分类:其他好文   时间:2019-10-21 20:33:50    阅读次数:80
stl源码剖析-序列式容器 之 list
较久以前学过数据结构,对链表的定义和行为结构有过了解,所以阅读源码学习stl定义的list容器的并不算吃力。 list与vector都是两个常用的容器,与vector不同,list不是连续线性空间的,list是一个双向链表。每次插入或者删除一个元素,将配置或者释放一个元素空间,因此,list对于空间 ...
分类:其他好文   时间:2019-10-20 16:10:15    阅读次数:69
stl源码剖析-序列式容器 之 vector
vector的数据安排以及操作方式,与array(c++自身提供的序列式容器)非常相似。两者唯一的差别在于空间的运用的灵活性。array是静态空间,一旦配置了将不能随意更改其大小,若要更改需要重新配置一块新的空间,如何将元素从旧址中一一搬迁,再释放原来的系统。而vector是动态空间,随着元素的加入 ...
分类:其他好文   时间:2019-10-19 18:53:13    阅读次数:97
Binder系列2—Binder Driver再探 - Gityuan博客
基于Android 6.0的源码剖析,在讲解Binder原理之前,先从kernel的角度来讲解Binder Driver.一、Binder通信简述上一篇文章Binder Driver初探介绍了Binder驱动的init、open、mmap、ioctl这4个核心方法,并说明与Binder相关的常见结构... ...
分类:其他好文   时间:2019-10-18 11:11:30    阅读次数:146
STL源码剖析——空间配置器Allocator#3 自由链表与内存池
上节在学习第二级配置器时了解了第二级配置器通过内存池与自由链表来处理小区块内存的申请。但只是对其概念进行点到为止的认识,并未深入探究。这节就来学习一下自由链表的填充和内存池的内存分配机制。 refill()函数——重新填充自由链表 前情提要,从上节第二级配置器的源码中可以看到,在空间配置函数allo ...
分类:其他好文   时间:2019-10-13 17:08:52    阅读次数:98
888条   上一页 1 ... 8 9 10 11 12 ... 89 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!