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按 ...
随机推荐
- ios 流媒体 资料
(1)“Real-Time Streaming Protocol (RTSP)”比较官方的资料(链接). (2)“ffmpeg”在百度百科的简介(链接). (3)“ffmpeg”的官网:http:// ...
- 父页面 调用iframe方法
父页面调用Iframe的方法 document.getElementById("tabIf0").contentWindow.Search(); Jquery 方式: ...
- 12 高性能I/O框架库Libevent
这里不讲Libevent库的具体内容了,从宏观上对I/O库整体做个介绍 Linux服务器程序必须处理三类事件:I/O事件,信号和定时事件 统一事件源:统一处理这三类事件既能使代码简单易懂,又能避免一些 ...
- .NET设计模式(18):迭代器模式(Iterator Pattern)(转)
概述 在面向对象的软件设计中,我们经常会遇到一类集合对象,这类集合对象的内部结构可能有着各种各样的实现,但是归结起来,无非有两点是需要我们去关心的:一是集合内部的数据存储结构,二是遍历集合内部的数据. ...
- 使用ajax技术无刷新动态调用股票信息
新浪的财金频道一直感觉做得很好.但由于最近网速慢的缘故,查看股票信息时网页老是打不开.这几天一直在研究ajax,于是用jquery自己做了一个自动读取新浪股票实时数据的页面. <html> ...
- IE6 IE7 IE8(Q) 不支持 JSON 对象
标准参考 JSON 是一种数据交换格式,RFC 4627 对 JSON 进行了详细描述. 根据 ECMA-262(ECMAScript)第 5 版中描述,JSON 是一个包含了函数 parse 和 s ...
- Unity bundle的制作和使用
原地址:http://unity3d.9ria.com/?p=2863 Unity有个很好的功能,大致是很多专注于PC的engine没有提供的(因为没有必要),就是能加载主包外的资源,这个主包外的资源 ...
- PHP几个函数
pack: 数据装入一个二进制字符串 http_build_query: 将数组转化成URL GET参数的形式. get_class:返回对象的类名,注:即使是在父类方法中调用也是返回子类的类名. g ...
- 【linux】打印字符串中指定行
只打印第10行 关键在于当行数小于10时不输出. 用 head tail的关键问题是当行数小于10的时候用 head -n 10 只会打出前面的行,再用tail就错了. 所以要知道源文件一共有多少行. ...
- HDU 1142 A Walk Through the Forest (记忆化搜索 最短路)
A Walk Through the Forest Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Jav ...