戊子仲秋
Golang后端
·2023-07-08
#闲聊# 每日一闲聊 1. 随便聊聊时间~ 来晚啦,今天发生了许多事情,容我慢慢道来... 先说早上啊,今天早上惯例去练车,练了几十分钟,我感觉我顿悟了,科目二不在话下,我科二技术臻入化境(不会是心里作用吧,害怕自己给自己插旗了) 原本昨天元气满满,想着暑假好好干,结果今天下午给了我当头一棒,我都在家呆了三天了,今天给我发通知,教我7月10号之前要把床铺搬到新宿舍,傻了都,明天又要千里迢迢会学校搬宿舍,孩子要死了[流泪][流泪][流泪][衰][衰][衰] 不知道你们会不会这样,就是当有些什么事情压在头上,很难受的时候,就集中不起精神学习,情绪低落。。。 不过好在今天的学习任务还是完成的差不多的,该背的单词背了,该刷的算法刷了,该复习的内容复习了,也算是没有白过一天吧。 (可以看出今天的心情十分的低落[心碎]) 2. 学习感悟时间~ 昨天鱼皮大佬在评论区给我提了个建议,说可以增加一些知识浓度,然后我就添加了个新栏目,学习感悟区~,来讲讲今天学习的感悟。 这个栏目风险很大(因为如果我没有学习,那就没有感悟了[敲打][敲打][敲打]) 今天主要还是在巩固C 的基础,那我就来聊聊我对STL底层实现的一些理解吧,JAVA好像也有类似STL标准模板库的东西吧(有球友知道能在评论区也给我分享分享吗?) STL的底层实现主要是包含:6大组件,这个是STL的精髓所在,6大组件分别是:容器,迭代器,配接器(我喜欢叫适配器),空间配置器,仿函数,算法。 而容器是6大组件的核心,6大组件相互影响,相互作用,这里我以容器为核心,来讲一讲其他的组件体现的思想和作用。 迭代器,他体现了封装的思想,他封装了容器的底层实现细节,我们使用的时候,他提供了统一的方式去访问容器,极大降低了使用的成本,非常巧妙。 算法,提供了许多实用的方式对我们的容器进行操作,而我们一般都是通过使用迭代器作为参数调用算法接口。 空间配置器,其实算是一个小型的内存池,当容器需要频繁的申请和释放小块的内存的时候,他可以提高这方面的效率,给容器提供服务。 适配器,体现的是一种复用的思想,我们不直接实现,而是通过封装容器就能实现,通过正向迭代器封装反向迭代器也可以说是一种适配器,或者说复用思想的体现。 仿函数,其实就是一个实现了operator()的类,这个类可以当做函数去使用,我在刷算法题的时候也经常使用,他给容器啊,算法这些提供仿函数,改变他们的一些规则,例如说改变map/set的比较规则,sort排序的比较规则。 上面就是我对STL的一些思考和总结了,球友们如果了解的话,别忘了给我介绍介绍JAVA里面,如果想使用一些数据结构,应该是用什么方式呢?我还是挺好奇的呢。 (今天的闲聊就到这里了吧~如果你们喜欢这种形式的话,我明天会继续更新哦~)
0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
下载 APP