导航:首页 > 源码编译 > stl源码剖析知乎

stl源码剖析知乎

发布时间:2022-06-15 22:57:28

‘壹’ 在C++ 学习过程中,哪些书籍值得一看

轻巧类: <Effective C++>, <More effective C++> <Exceptional C++>, <More exceptional C++> <C++ coding standards>深入实现:<C++语言的设计与演化><深度探索C++模型> STL: <C++ 标准程序库><STL源码剖析><泛型编程与STL>

作者:WingStone
链接:https://www.hu.com/question/20066655/answer/13863651
来源:知乎
着作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

‘贰’ 《STL源码剖析》还能看吗C++标准中 STL 只是加入了新的库,而不是重写

当然可以看。学习stl的实现原理的目的,是学习编程范式、技巧、语言的深入理解等过程。且不说c++ 11引入的新特性,只不过是一些语法糖,目前在工业界并没有普及开来。学习语言应该不仅仅限于学习语法本身,更重要的是背后的设计思想。这些思想,不管c++、python还是java等,都是通用的原理。

‘叁’ 学习stl源码剖析前需要先看哪些东西

《STL源码剖析》不是讲怎么样使用STL和STL技巧的,是关于STL核心代码的剖析,是面向有丰富经验的STL程序员来补充和更好的理解STL底层核心机制,初学者看这本书的话基本上是一头雾水,建议先从基础学起,C++标准程序库 和C++stl是比较好的入门且使用的书籍,以后有了一定的STL经验,再去研究STL源码剖析,相信那时候你就会有了另一番对STL的领悟。

‘肆’ 知乎有哪些瞠目结舌的c++技巧

首先是一本好的C++书籍(Accelerated C++, C++ Primer),然后以及尽量多的完成书籍的习题,可以帮助完成C++语法的学习。虽然前面的书籍涵盖了标准库,但是不够完善,这个时候你可以选择在线查阅C++标准库这种泛型的学习方式,也可以选择阅读《C++标准库》的方式进行学习。通过这样的步骤,你应该可以完成C++的初步学习了。

然后,由于C++是一门系统级语言,我想你需要到大三学习操作系统的时候,才会明白栈与堆、内存管理等更深层次的含义。但是,在明白这些概念之前不会妨碍你利用C++做一些事情,比如写一个简单的XML Parser。这个时候,你应该会发现很多问题,如效率,代码规范等,这个时候,你可以研究Effective C++,Google C++ Code Standard等,只有自己犯了错,回过头反省才会更加深刻。

随后,你可以更加深刻的去思考C++,你需要阅读《The Design and Evolution of C++》。这本书的阅读,会教会你很多,是对你影响最大的C++书籍。如果你对C++编译器的一些细节有兴趣,深入C++对象模型可以推荐。如果你对STL的一些实现有兴趣,可以去翻翻STL源代码(很多人推荐STL源码剖析,但是我没有阅读过,我没有办法发表是否应该推荐的观点,列出来供你自行判断是否应该阅读)。

到这一步骤,我想你应该可以称为C++ Programmer了,剩下的就是实践中发现问题,然后补足自己。

‘伍’ 《STL源码剖析》:无名形参

1、函数在声明时就已经确定其格式(可能因扩展、重载或其它原因无法修改修改其原型);
2、函数体内不需要用到某形参,可以省略该形参名;
3、形参类型不能省略,一旦省略,那就跟原型不一致了
4、省略不需要用到的形参是为了避免严格编译时,编译器对没有使用的变量给出警告信息
5、...

‘陆’ <<STL源码剖析>> << C++标准程序库>>

侯捷把STL的学习比喻为三个境界:
第一境界:熟用STL
第二境界:了解泛型技术的内涵与STL的学理乃至实作
第三境界:扩充STL

这三个境界都可以使用 << C++标准程序库>>,但是第三境界推荐使用<<STL源码剖析>>

‘柒’ 《STL源码剖析》pdf下载在线阅读,求百度网盘云资源

《STL源码剖析》侯捷电子书网盘下载免费在线阅读

链接:

密码:ignd

书名:STL源码剖析
作者名:侯捷
豆瓣评分:8.7
出版社:华中科技大学出版社
出版年份:2002-6
页数:493
内容介绍:
学习编程的人都知道,阅读、剖析名家代码乃是提高水平的捷径。源码之前,了无秘密。大师们的缜密思维、经验结晶、技术思路、独到风格,都原原本本体现在源码之中。这本书所呈现的源码,使读者看到vector的实现、list的实现、heap的实现、deque的实现、Red Black tree的实现、hash table的实现、set/map的实现;看到各种算法(排序、查找、排列组合、数据移动与复制技术)的实现;甚至还能够看到底层的memory pool和高阶抽象的traits机制的实现。
作者介绍:
侯捷,出生于1961年09月28日,台南县柳营乡人,南京大学客座教授。第一次在大陆大学授课: 南京大学软件学院 and 同济大学软件学院。


‘捌’ stl源码剖析 为什么要使用仿函数

STL(standard template libary),标准模板库。
这是C++标准的一部分。关于这个库有不少历史可以说,侯捷的《STL源码剖析》讲了不少。STL有好几种不同的实现,微软也有自己的实现。
关于使用,比如你用了下面的语句:
#include <vector>
就是使用了标准模板库里的 vector.
然后你这样声明向量:
vector<int> a; //向量a包含的元素是int型的
vector<double> b; //向量b包含的元素是double型的
你可以查找对应的头文件,它们都是以源码形式出现的,不过里面的符号定义的让人眼花缭乱,还是找书看比较好。
标准模板库包含了数据结构和算法等方面的内容,比较复杂,学习之前要有十足下信心。

‘玖’ STL源码剖析怎么样

STL很庞大,本书很好地萃取出了STL的主要内容(不考虑异常,多线程等相关代码),并加以详略得宜的剖析,让人觉得STL原来如此简单。因为是STL组件本身就有很多类似的地方,所以侯先生的行文大量复用之前文字(有时完全粘贴,有时稍作改动),读起来像读优秀代码一般痛快。

阅读全文

与stl源码剖析知乎相关的资料

热点内容
java字符处理函数 浏览:274
指纹用于应用加密什么意思 浏览:998
怎么取消苹果手机的appid密码 浏览:997
门禁系统录制卡怎么加密 浏览:753
ssm看源码哪本书好 浏览:933
linux查看网卡的命令 浏览:497
basic语言算法 浏览:13
怎么快捷删除无用文件夹 浏览:475
你家离学校源码用英语回答 浏览:504
电脑如何用服务器地址 浏览:652
php转化为二进制 浏览:738
程序员到国企感受 浏览:863
js二分搜索算法 浏览:658
文件夹的定义与原意 浏览:202
phpredis任务队列 浏览:463
文件夹的颜色代表什么 浏览:895
单片机模拟通信 浏览:931
pandas在哪里编译 浏览:918
安卓机怎么调清晰度 浏览:346
开始菜单文件夹英语 浏览:887