The C++ Standard Library

Nicolai M. Josuttis

出版时间

1999-08-22

ISBN

9780201379266

评分

★★★★★
书籍介绍
这不是一本用来从头读到尾的书。几乎所有读者都把它当作工具书、参考手册来用:遇到具体的容器、迭代器或算法时翻出来查,而非逐页通读。正因如此,它最打动人的地方恰恰是那种'有问题时随手可查'的踏实感——从'最后元素的下一个位置'这类细节,到std::move究竟只是把参数转换成右值引用、而非真正搬运数据的微妙之处,作者把容易踩坑的实践点讲得清楚明白。它适合两类人:一是想系统建立STL整体认知的入门者,二是把C++11之前的经典库当作终极参考的实战开发者。它不能替你理解STL背后的数学思想,却能在你真正需要时,把'为什么这样写'讲清楚。
AI导读
核心看点
  • 全面解析STL容器、迭代器与算法
  • 深入阐述迭代器分离数据与算法的设计思想
  • 提供大量可运行的代码示例与细节说明
读者共识
  • C++程序员必备的权威参考手册
  • 内容严谨全面,但篇幅较长较厚重
  • 示例代码丰富,有助于理解复杂概念
精彩摘录
  • "也就是最后元素的下一个位置"
  • "注意,一个算式如果明白指出型别,便带有一个优势:产生出来的pair将有绝对明确的型别。例如:"
  • "其结果与:"
  • "不同,后者第二元素的型别是double,默认。"
  • "很多接口在需要内部拷贝时,都通过constant reference获得原值。事实上,C++标准程序库的所有容器都如此,大致像这样:"
  • "However,std::move() doesn’t itself do any moving, but merely converts its argument into a so-called rvalue reference, which is a type declared with two ampersands: X&&. This new type stands for rvalues (anonymous temporaries that can appear only on the right-hand side of an assignment) that can be m"
  • "注意,这些操作符都只接受一个参数"
  • "注意:半开区间的意思是end是不包含在范围内的,也就是说begin和end如果都是容器的中的有效元素,end也不在其中。"
用户评论
文风朴实,通俗易懂。据说体系很严密,可惜体会不深。当工具书没有网站上查方便,而且也有点买椟还珠了。
STL入门
1.兴趣原因 13章 IO 跳着看完,14章 Internationalization 15章 Allocators 不想看了... 2.更适合当工具书随手翻阅;3.这是老版的书,有必要再去看一下 c++ 11 版本的。
STL 参考手册
前半部分看的是实体书,后半部分就是电子档了,查阅STL的时候还是得常翻翻
参考书一样跳着读。
挑着看的,一方面作为字典查阅(例子很棒),一方面了解 STL 的一些设计思想。
12,13,14,15章跳读,适合用作STL速查书
经常要用到stl的,不妨入手一本。
下载
收藏