标签:世界 原因 lis c++语言 翻译 经典书籍 font vector 实现机制
C++语言衍生于C语言这门古老的语言,其主要特性是面向对象,另外一个广为人知的特点是复杂^_^,没有5年以上开发经历,估计没多少人说熟悉,更没人敢说自己精通。
如果对其复杂的语法知识不甚了解,那么Android的native层代码可就不那么容易理解了。
下面介绍几本C++领域的经典书籍。
1.《effective c++》
作者为scott Meyers,其为世界顶级的C++软件开发技术权威之一。
我曾经所购买的为台湾作家——侯捷所译,封面为梵高的经典著作之一——星夜,万物都在不停地运动、生长、死亡、再循环。
该书我看了3遍才有所感觉。第一遍看完,虽然每个字都认识,但不知所云;第二遍,对照c++基础语法,对少数章节有所共鸣,大部分章节还是不懂;第三遍,经历Android的native层代码开发一段时间后,再次阅读该书,认识到了该书的价值,想通了Android代码为什么那样设计。
2.《more effective c++》
作者同样为scott Meyers,是上面一本书的升级版。
翻译同样为侯捷,封面油画不清楚为哪个大师的作品。
该书我只看了一遍,其是第一本的深入版,第一本告诉你表面的结果,这本告诉你内在的原因。其对C++这门语言内部实现进行了很多分析,如类对象指针运行时动态联编所用到的虚函数、虚表的实现。
3. 《STL源码剖析》
作者为侯捷老师,侯老师为台湾知名C++专家,对C++的造诣极深。
该书对SGI公司实现的stl库进行了剖析,需要较多的模板元编程方面的知识,介绍了常用容器的内部实现机制,如vector、list、heap、dequeue、set、map等的实现,还包括一些更底层的memory分配回收机制。虽然stl库早已整合进c++语言中(正如c语音的libc库),了解内部实现机制对我们的使用仍有很大益处,在什么场景下用什么更高效。该书看了两边,能理解大部分内容。
4.《深度探索C++对象模型》
作者为Stanley B·Lippman,为c++编译器作者。
译者同样为侯捷老师,封面油画不清楚为哪个大师的作品。
该书对c++语言对象内存布局和实现机制做了深入探讨。按常理讲,做编译器这么高级和底层工具的人,对语言特性更了解,描述更清楚和透彻。但是,在本书里犯了不少低级错误,书里面连侯捷老师都有说明这个问题,但是侯老师特地交代,还是按照英文版原文原意来翻译,以尊重作者。该书我只看了前几章,个人觉得对码农的内功修炼有很大帮助,但这种内功实在太深了,该书更适合于搞程序语言和编译器的人去看。
标签:世界 原因 lis c++语言 翻译 经典书籍 font vector 实现机制
原文地址:https://www.cnblogs.com/Dreaming-in-Gottingen/p/13715703.html