Effective STL中文版

Effective STL中文版 pdf epub mobi txt 电子书 下载 2025

出版者:电子工业出版社
作者:[美] Scott Meyers
出品人:博文视点
页数:220
译者:潘爱民
出版时间:2013-5
价格:59.00元
装帧:平装
isbn号码:9787121201257
丛书系列:传世经典书丛
图书标签:
  • C++
  • STL
  • 编程
  • C/C++
  • 计算机
  • 程序设计
  • 算法
  • 编程语言
  • Effective STL
  • 中文版
  • C++标准模板库
  • 高效编程
  • 现代C++
  • STL最佳实践
  • 模板设计
  • 性能优化
  • 代码质量
  • 可读性
想要找书就要到 小美书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

《Effective STL中文版:50条有效使用STL的经验》是EffectiveC++的第3卷,被评为“值得所有C++程序员阅读的C++书籍之一”。《Effective STL中文版:50条有效使用STL的经验》详细讲述了使用STL的50条指导原则,并提供了透彻的分析和深刻的实例,实用性极强,是C++程序员必备的基础书籍。C++的标准模板库(STL)是革命性的,要用好STL并不容易。《Effective STL中文版:50条有效使用STL的经验》作者ScottMeyers揭示了专家总结的一些关键规则,包括专家们总是采用的做法,以及专家们总是避免的做法。通过这些规则,STL程序员可以最大限度地使用STL。

作者简介

Scott Meyers,世界顶级C++软件开发技术权威之一。他是两本畅销书Effective C++和More Effective C++的作者,以前曾经是C++ Report的专栏作家。他经常为C/C++ Users Journal和Dr. Dobb's Journal撰稿,也为全球范围内的客户做咨询活动。他也是Advisory Boards for NumeriX LLC和InfoCruiser公司的成员。他拥有Brown University的计算机科学博士学位。

潘爱民,任职于阿里云计算有限公司,担任阿里云OS首席架构师。长期从事软件和系统技术的研究与开发工作,撰写了大量软件技术文章,著译了多部经典计算机图书,在国内外学术刊物上发表了30多篇文章。曾经任教于北京大学和清华大学(兼职)。后进入工业界,先后任职于微软亚洲研究院、盛大网络发展有限公司和阿里云计算有限公司。目前也是工信部移动操作系统专家组成员。

潘爱民获得了数学学士学位和计算机科学博士学位,主要研究领域包括软件设计、信息安全、操作系统和互联网技术。

目录信息

引言...............................................................................................................1
1 容器..........................................................................................9
第1 条:慎重选择容器类型。............................................................... 9
第2 条:不要试图编写独立于容器类型的代码。.................................... 12
第3 条:确保容器中的对象拷贝正确而高效。....................................... 16
第4 条:调用empty 而不是检查size()是否为0。................................... 18
第5 条:区间成员函数优先于与之对应的单元素成员函数。............................ 20
第6 条:当心C++编译器最烦人的分析机制。.................................................... 26
第7 条:如果容器中包含了通过new 操作创建的指针,切记在容器对象析构前将
指针delete 掉。......................................................................... 28
第8 条:切勿创建包含auto_ptr 的容器对象。......................................... 32
第9 条:慎重选择删除元素的方法。............................................................... 34
第10 条:了解分配子(allocator)的约定和限制。........................................... 38
第11 条:理解自定义分配子的合理用法。............................................. 44
第12 条:切勿对STL 容器的线程安全性有不切实际的依赖。......................... 47
2 vector 和string .....................................................................................51
第13 条:vector 和string 优先于动态分配的数组。............................................. 51
第14 条:使用reserve 来避免不必要的重新分配。............................................. 53
第15 条:注意string 实现的多样性。.......................................................... 55
第16 条:了解如何把vector 和string 数据传给旧的API。.................................... 60
第17 条:使用“swap 技巧”除去多余的容量。................................................... 63
第18 条:避免使用vector<bool>。................................................................................. 64
3 关联容器..........................................................................................................................67
第19 条:理解相等(equality)和等价(equivalence)的区别。...................................... 67
第20 条:为包含指针的关联容器指定比较类型。........................................ 71
第21 条:总是让比较函数在等值情况下返回false。.............................................. 74
第22 条:切勿直接修改set 或multiset 中的键。............................................... 77
第23 条:考虑用排序的vector 替代关联容器。............................................... 82
第24 条:当效率至关重要时,请在map::operator[ ]与map::insert 之间谨慎做出选择。..... ...................... 87
第25 条:熟悉非标准的散列容器。........................................................................... 91
4 迭代器..............................................................................................................95
第26 条:iterator 优先于const_iterator、reverse_iterator 及const_reverse_iterator。.....95
第27 条:使用distance 和advance 将容器的const_iterator 转换成iterator。............ 98
第28 条:正确理解由reverse_iterator 的base()成员函数所产生的iterator 的用法。.... ...................... 101
第29 条:对于逐个字符的输入请考虑使用istreambuf_iterator。......................... 103
5 算法...............................................................................................................................106
第30 条:确保目标区间足够大。....................................................................... 107
第31 条:了解各种与排序有关的选择。................................................................110
第32 条:如果确实需要删除元素,则需要在remove 这一类算法之后调用erase。...........115
第33 条:对包含指针的容器使用remove 这一类算法时要特别小心。.....................118
第34 条:了解哪些算法要求使用排序的区间作为参数。.................................. 121
第35 条:通过mismatch 或lexicographical_compare 实现简单的忽略大小写的字符
串比较。.................................................................. 124
第36 条:理解copy_if 算法的正确实现。............................................................. 128
第37 条:使用accumulate 或者for_each 进行区间统计。.................................... 130
6 函数子、函数子类、函数及其他...........................................................................135
第38 条:遵循按值传递的原则来设计函数子类。..................................... 135
第39 条:确保判别式是“纯函数”。................................................................. 138
第40 条:若一个类是函数子,则应使它可配接。............................................... 141
第41 条:理解ptr_fun、mem_fun 和mem_fun_ref 的来由。................................. 145
第42 条:确保less<T>与operator<具有相同的语义。........................................ 148
7 在程序中使用STL ..............................................................................................152
第43 条:算法调用优先于手写的循环。................................................................. 152
第44 条:容器的成员函数优先于同名的算法。........................................................ 159
第45 条:正确区分count、find、binary_search、lower_bound、upper_bound 和
equal_range。....... ...................... 161
第46 条:考虑使用函数对象而不是函数作为STL 算法的参数。.................................. 168
第47 条:避免产生“直写型”(write-only)的代码。................................................ 172
第48 条:总是包含(#include)正确的头文件。................................................. 175
第49 条:学会分析与STL 相关的编译器诊断信息。..................................... 176
第50 条:熟悉与STL 相关的Web 站点。........................................................... 183
参考书目........................................................................................189
附录A 地域性与忽略大小写的字符串比较.................................................193
附录B 对Microsoft 的STL 平台的说明..........................................202
· · · · · · (收起)

读后感

评分

算是第一本完整看完的比较权威些的C++书籍,近一年上班使用C++以来才知道,C++水太深,大学学的那点皮毛完全不够用,Effective系列一直都是比较好的,有些地方稍微翻译的有点瑕疵,但整体很好。对我来说这本看完收获挺多,有问题及时和同事讨论。。谢谢晓露。。以后还要继续恶...  

评分

如果说《C++标准程序库》是大而全的圣经的话,那么这本《Effective STL》就是针对圣经的讲解。 《C++标准程序库》和《Effective STL》是两本好书。有同事说看过《C++标准程序库》就不用看《Effective STL》了,我可不这么认为。事实上,两本书是不能互相替代的,毫无疑问,如...  

评分

写C++的书很多,effective C++等。但是一般对STL没什么深入介绍。 这本书弥补了空白。如看过之后对STL的理解将更深入一步。 字数不足,字数不足,字数不足,字数不足,字数不足,字数不足,字数不足,字数不足,字数不足,字数不足,字数不足,字数不足,字数不足,字数...  

评分

评分

我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看过了 我看...

用户评价

评分

Scott Meyers 写这本书似乎有些勉强了。和《Effective C++》不同,读这本书基本没有那种豁然开朗的感觉,尽管内容组织和叙述都很清晰,但是在新标准下本书所涉及的很多知识都已缺失了时效性。

评分

很有建设性的意见,不过遗憾的是C++11没有写到里面

评分

书本身不错,译者也很专业,但是,我还是灰常BS这种翻译版和原版对不上页码的情况,对errata简直就是自寻死路。。。

评分

太老了啊

评分

这本书比较容易读,难度较小。其中讲了一些 STL 中的技巧和坑点,值得一看。

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.quotespace.org All Rights Reserved. 小美书屋 版权所有