Effective STL 中文版(大全)
Effective STL 中文版(大全)
作者:winter
候捷说,对于STL,程序员有三个境界,开始是使用STL,然后是理解STL,最后是补充STL。Effective STL是一本非常好的书,帮助你更好的理解STL,其作者就是《Effective C++》一书的作者。如果你已经初步了解了STL的容器、迭代器、算法和函数,而又想更好的了解STL,那么《Effective STL》是你的最佳选择。 还有一部分没有找到链接,如果再找不到我会自己试着翻译一下:)
容器
- 条款1: 仔细选择你要的容器
- 条款2: 小心对“容器无关代码”的幻想
- 条款3: 使容器里对象的拷贝操作轻量而正确
- 条款4: 用empty来代替检查size是否为0
- 条款5: 尽量使用范围成员函数代替他们的单元素兄弟
- 条款6: 警惕C++的及其令人迷惑的分析
- 条款7: 当使用new得指针的容器时,切记在容器销毁前delete那些指针
- 条款8: 千万不要把auto_ptr放入容器中 new
- 条款9: 小心选择删除选项
- 条款10:当心allocator的协定和约束
- 条款11: 了解自定义allocator的正统使用法
- 条款12:对STL容器的线程安全性的期待现实一些
vector和string
- 条款13: 尽量使用vector和string来代替动态申请的数组
- 条款14:用reserve来避免不必要的内存重新分配
- 条款15: 当心string的实现中的变化
- 条款16: 如何将vector和string的数据传给传统的API
- 条款17: 用“交换技巧”来修正过度的容量
- 条款18: 避免使用vector<bool>
关联容器
- 条款19: 了解相等和等价的区别
- 条款20: 为包含指针的关联容器指定比较类型
- 条款21: 永远让比较函数对相等的值返回false
- 条款22:避免对set和multiset的键值进行修改
- 条款23: 考虑用排序的vector代替关联容器
- 条款24: 当效率很关键时尽量用map::insert代替map::operator
- 条款25: 让自己熟悉非标准的hash容器
迭代器
- 条款26: 尽量使用iterator代替const_iterator,reverse_iterator和...
- 条款27: 使用distance和advance把const_iterators转化成iterators
- 条款28: 了解如何通过reverse_iterator的base得到iterator
- 条款29: 需要一字符一字符输入时请用istreambuf_iterator
算法
- 条款30: 确保目的范围足够大
- 条款31: 理解你的排序操作new
- 条款32: 如果你真的想删除东西的话在remove-like的算法后紧接上erase
- 条款33: 当心在包含指针的容器使用remove-like的算法
- 条款34: 注意哪些算法需要排序过的范围
- 条款35: 通过mismatch或lexicographical_compare实现简单的忽略大小写字符串比较
- 条款36: 用not1和remove_copy_if来表现copy_if
- 条款37: 用accumulate或for_each来统计序列
仿函数,仿函数类,函数等等
- 条款38: 把仿函数类设计成值传递的
- 条款39: 用纯函数做predicate
- 条款40: 增强仿函数类的适应性
- 条款41:明确ptr_fun, mem_fun和mem_fun_ref的区别
- 条款42: 保证less是operator<的意思
用STL编程
- 条款43: 尽量用算法调用代替手写循环 new
- 条款44: 尽量用成员函数代替同名的算法
- 条款45: 注意count、find、binary_search、lower_bound、upper_bound和equal_range的区别new
- 条款46: 考虑用函数对象代替函数作为算法的参数
- 条款47:避免产生只写代码
- 条款48: 总是#include适当的头文件
- 条款49:学会破解STL相关的编译器出错信息
- 条款50: 让自己熟悉STL相关的网
Effective STL 中文版(大全)的更多相关文章
- 容器使用的12条军规——《Effective+STL中文版》试读
容器使用的12条军规——<Effective+STL中文版>试读 还 记的自己早年在学校学习c++的时候,老师根本就没有讲STL,导致了自己后来跟人说 起会C++的时候总是被鄙视, ...
- Effective STL中文版 译序
<Effective STL中文版>译序 就像本书的前两本姊妹作(Effective C++.More Effective C++)一样,本书的侧重点仍然在于提升读者的经验,只不过这次将焦 ...
- 《Effective STL中文版》前言
<Effective STL中文版>前言 我第一次写关于STL(Standard Template Library,标准模板库)的介绍是在1995 年,当时我在More Effec ...
- Effective C#中文版
我看的书是<Effective C#中文版——改善C#程序的50种方法>,Bill Wagner著,李建忠译.书比较老了,04年写的,主要针对C#1.0,但我相信其中的观点现在仍有价值.( ...
- [置顶] Effective STL 学习笔记
看Effective STL 作的一些笔记,希望对各位有帮助. 以下是50条条款及相关解释. 容器 1. 慎重选择容器类型,根据需要选择高效的容器类型. 2. 不要试图编写独立于容器类型的代码. 3. ...
- C++之Effective STL
今天看了下websocket的知识,了解到这是html5新增的特性,主要用于实时web的通信.之前客户端获取服务端的数据,是通过客户端发出请求,服务端进行响应的模式,或者通过ajax每隔一段时间从后台 ...
- 《Effective Java中文版第二版》读书笔记
说明 这里是阅读<Effective Java中文版第二版>的读书笔记,这里会记录一些个人感觉稍微有些重要的内容,方便以后查阅,可能会因为个人实力原因导致理解有误,若有发现欢迎指出.一些个 ...
- Effective STL 读书笔记
Effective STL 读书笔记 标签(空格分隔): 未分类 慎重选择容器类型 标准STL序列容器: vector.string.deque和list(双向列表). 标准STL管理容器: set. ...
- Effective STL读书笔记
Effective STL 读书笔记 本篇文字用于总结在阅读<Effective STL>时的笔记心得,只记录书上描写的,但自己尚未熟练掌握的知识点,不记录通用.常识类的知识点. STL按 ...
随机推荐
- vsm shadowmap format
遇到个奇怪的问题. 在做vsm ,shadowmap format RGBA8 结果正常 RGBA16F 场景不形成阴影的地方变纯黑,因为sm里面这些地方变纯黑(感觉这个好修一些) RGBA32F 阴 ...
- mysql查看连接数和状态,设置连接数和超时时间
1.mysql> show status like '%connect%'; Connections,试图连接到(不管是否成功)MySQL服务器的连接数. Max_used_connecti ...
- The Brain as a Universal Learning Machine
The Brain as a Universal Learning Machine This article presents an emerging architectural hypothesis ...
- 单件模式(Singleton Pattern)(转)
概述 Singleton模式要求一个类有且仅有一个实例,并且提供了一个全局的访问点.这就提出了一个问题:如何绕过常规的构造器,提供一种机制来保证一个类只有一个实例?客户程序在调用某一个类时,它是不会考 ...
- Git常用命令大全
查看.添加.提交.删除.找回,重置修改文件 git help <command> # 显示command的help git show # 显示某次提交的内容 git show $id gi ...
- 在线运行HTML代码器
在线运行HTML代码器(二)和前面的(一)大同小异,关键部分为JS代码,这次是把运行器所有的JS功能集中放在一起.以下为HTML代码: <!DOCTYPE html PUBLIC "- ...
- Sqli-labs less 60
Less-60 与上述一致,同样给出一个示例payload: http://127.0.0.1/sqli-labs/Less-60/?id=-1")union select extractv ...
- lightoj 1408 Batting Practice (概率问题,求期望,推公式)
题意:一个人若连续进k1个球或连续不进k2个球,游戏结束,给出这个人不进球的概率p(注意:是不进球!!!),求到游戏结束时这个投球个数的期望. 不进球概率为p,进概率 q=1-p.设 f[i] 表示连 ...
- Android中两种设置全屏的方法
设置全屏的两种方法: 第一种:在配置文件里面配置: <?xml version="1.0" encoding="utf-8"?><manife ...
- hdu5593/ZYB's Tree 树形dp
ZYB's Tree Memory Limit: 131072/131072 K (Java/Others) 问题描述 ZYBZYB有一颗NN个节点的树,现在他希望你对于每一个点,求出离每个点距 ...