学习泛型和STL

在花费了长达半年的时间断断续续阅读完《C++编程思想(上下)》和《Accelerated C++》三本基础读物后,总算是把C++好好温习了。下面开始继续学习泛型编程和STL,站在这个开端,有点茫然,还好看到了侯捷老师的如下建议,受益匪浅:

泛型技术的三个学习阶段:

王国维说大事业大学问者的人生有三个境界。依我看,泛型技术的学习也有三个境界:

第一个境界 是使用 STL。对程式员而言,诸多抽象描述,不如实象的程式码直指人心。

第二个境界 是了解泛型技术的内涵与 STL 的学理。除了前述的软体概念分类学,最好再对数个 STL 组件(不必太多,但最好涵盖各类型)做一番深刻追踪。STL 原始码都在手上(就是相应的那些表头档嘛),好好做几个个案研究,便能够对泛型技术以及 STL 的学理有深刻的掌握。

第三个境界 是扩充 STL。当 STL 不能满足我们的需求,我们必须有能力动手写一个可融入 STL 体系中的软体组件。要到达这个境界之前,可得先彻底了解 STL,也就是先通过第二境界的痛苦折磨。

第零境界 :泛型技术的基本门槛 在 C++ 环境中学习泛型技术,首要是把 template 相关语法与语意搞清楚。包括 class templates, function templates, member templates, specialization, partial specialization。更往基础看去,由於 STL 大量运用了 operater overloading(运算子多载化),所以这个技法也必须熟捻。

鉴于侯捷老师以上的建议,结合在Genericity/STL 大系 中的对经典书籍的评述,我个人总结了下在几个境界时,应该对应阅读以下书籍:

第零境界:《C++ Templates》

第一个境界:《C++标准程序库》《Effective STL》

第二个境界:《泛型编程与STL》《STL源码剖析》

第三个境界:《泛型编程与STL》《C++标准程序库》

看到这份书单,我觉得也算是覆盖了市面上公认的STL经典书籍了,另外我还发现了本《STL扩展技术手册 卷I:集合和迭代器》(奇怪,没发现卷2),不知写得如何,可能在第三个境界上能用到吧,有待验证。

路漫漫其修远兮吾将上下而求索

在通往专家的道路上没有终点

頑張れ

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值