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按 ...
随机推荐
- 2014 ACM/ICPC Asia Regional Anshan Online
默默的签到 Osu! http://acm.hdu.edu.cn/showproblem.php?pid=5003 #include<cstdio> #include<algorit ...
- 使用行为树(Behavior Tree)实现网游奖励掉落系统
原地址:http://blog.csdn.net/akara/article/details/6165421 [原创]使用行为树(Behavior Tree)实现网游奖励掉落系统by AKara 20 ...
- uva12534 Binary Matrix 2(最小费用最大流)
http://blog.csdn.net/qq564690377/article/details/17082055 做的时候觉得明显是费用流,但是真的不知道怎么建图,看了上面的博客会稍微清晰一点.后面 ...
- HDU1724 Ellipse(数值积分)
补一下一些小盲区,譬如simpson这种数值积分的方法虽然一直知道,但是从未实现过,做一道例题存一个模板. #pragma warning(disable:4996) #include<iost ...
- LCS最长公共子序列(最优线性时间O(n))
这篇日志主要为了记录这几天的学习成果. 最长公共子序列根据要不要求子序列连续分两种情况. 只考虑两个串的情况,假设两个串长度均为n. 一,子序列不要求连续. (1)动态规划(O(n*n)) (转自:h ...
- POJ 2021
#include <iostream> #include <string> #include <algorithm> #define MAXN 105 using ...
- PHP5.4最新特性
PHP5.4最新特性 官网:ChangeLog-5.php#5.4.0 原文Oracle:LAMP 体系有了新的竞争,但此版本中的特性使 PHP 再次挑战极限. 稍微做了修改.: 概述总结:1. ...
- springmvc的系统学习之配置方式
资源:尚学堂 邹波 springmvc框架视频 一.springMVC 工作流程 页面请求---->控制器(Controller DispatcherServlet)----& ...
- mq_open
NAME mq_open - 打开一个消息队列 (REALTIME) SYNOPSIS #include <mqueue.h> mqd_t mq_open(const char *name ...
- 用C语言简单加密解密
使用char表示的字符型数据,在本质上与我们前面介绍的整型数据并无太大的区别,只是char类型占用的内存字节数更小,能够表示的数据范围更小而已.在使用上,char被专门用来表示C语言的字符集中的各种字 ...