###《Effective STL》--Chapter1】的更多相关文章

点击查看Evernote原文. #@author: gr #@date: 2014-09-12 #@email: forgerui@gmail.com Chapter1 容器 Topic 4: 调用empty而不是检查size()是否为0 当检查一个容器是否为空时,要使用empty而不是size().empty在检查时的时间总是常数的,而对于size(),一些容器的实现可能是线性的(如list). Topic 5: 区间成员函数优先于与之对应的单元素成员函数 使用区间成员函数会得到更高的效率,其…
http://www.cnblogs.com/arthurliu/archive/2011/08/07/2108386.html 作者:咆哮的马甲 出处:http://www.cnblogs.com/arthurliu/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接. 转载请保持文档的完整性,严禁用于任何商业用途,否则保留追究法律责任的权利. 第一条: 慎重选择容器类型 C++所提供的容器类型有如下几种: 标准STL序列容器 vector…
点击查看Evernote原文. #@author: gr #@date: 2014-09-13 #@email: forgerui@gmail.com Chapter3 关联容器 Topic 22: 切勿直接修改set或multiset中的键 修改元素的值可以通过下面五步操作,避免作类型转换. struct IDNumberLess : public binary_function<Employee, Employee, bool> { bool operator() (const Emplo…
点击查看Evernote原文. #@author: gr #@date: 2014-09-17 #@email: forgerui@gmail.com Chapter5 算法 Topic 30: 确保目标区间足够大 如果所使用的算法需要指定一个目标区间,那么必须确保目标区间足够大,或者保证它会随着算法的运行而增大.可以使用back_inserter,front_inerter或者inserter返回的迭代器. transform(values.begin(), values.end(), bac…
点击查看Evernote原文. #@author: gr #@date: 2014-09-27 #@email: forgerui@gmail.com Chapter6 函数子.函数子类.函数及其他 Topic 38: 遵循按值传递的原则来设计函数子类 函数作为参数传递的是函数指针,所以尽量使函数子是单态的,可以使用这个函数去调用其它多态函数实现多态.这样也可以保证函数子的小巧. Topic 39: 确保判别式是"纯函数" 一个判别式是一个返回为bool类型的函数,包括判别子类和判别函…
点击查看Evernote原文. #@author: gr #@date: 2014-08-31 #@email: forgerui@gmail.com Chapter7 在程序中使用STL Topic 43: 算法调用优先于手写的循环 调用STL算法可以一次性达到想要的结果,减少中间过程资源时间的消耗,除此之外,编译器可能对一些算法进行了优化,比自己写循环更高效. Topic 44: 容器的成员函数优先于同名的算法 算法实现的时候为了保证算法的通用性,不会针对每种结构进行单独的优化,而使用容器的…
点击查看Evernote原文. #@author: gr #@date: 2014-09-15 #@email: forgerui@gmail.com Chapter2 vector和string Topic 15: 注意string实现的多样性 string可能有多种不同的实现.文中介绍了四种,由于采用不同的实现,使用sizeof(string)计算会得到不同的值. 在这四种实现中,string对象的大小可以是一个char*指针大小的1到7倍.并且,各种实现的动态内存分配也不尽相同,可能需要1…
点击查看Evernote原文. #@author: gr #@date: 2014-09-14 #@email: forgerui@gmail.com Chapter4 迭代器 Topic 26: iterator优先于const_iterator.reverse_iterator及const_reverse_iterator. 在一些程序中,需要iterator的支持,而const_iterator无法满足要求,所以尽量使用iterator. Topic 27: 使用distance和adva…
容器使用的12条军规——<Effective+STL中文版>试读     还 记的自己早年在学校学习c++的时候,老师根本就没有讲STL,导致了自己后来跟人说 起会C++的时候总是被鄙视,后来就下定决心一定要搞定STL.但是说实话,后来学了STL之后,我还是没有能够把它运用好,有的时候觉得STL太好了, 太强大了,大大减少了我编程的难度,但是另一方面,STL又有些复杂,自己还不能够确定哪里会产生错误以及错误的原因,这些陷进导致自己运用的时候总是蹑 手蹑脚,只用到了STL比较基础的一些功能(用容…
<Effective STL中文版>前言     我第一次写关于STL(Standard Template Library,标准模板库)的介绍是在1995 年,当时我在More Effective C++的最后一个条款中对STL 做了粗略的介绍.此后不久,我就陆续收到一些电子邮件,询问我什么时候开始写Effective STL. 有好几年时间我一直在拒绝这种念头.刚开始的时候,我对STL 并不非常熟悉,根本不足以提供任何关于STL 的建议.但是随着时间的推移,以及我的经验的增长,我的想法开始有…