您好,欢迎光临有路网!
Effective STL中文版50条有效使用STL的经验
QQ咨询:
有路璐璐:

Effective STL中文版50条有效使用STL的经验

  • 作者:梅耶
  • 出版社:电子工业出版社
  • ISBN:9787121201257
  • 出版日期:2013年05月01日
  • 页数:163
  • 定价:¥59.00
  • 猜你也喜欢

    分享领佣金
    手机购买
    城市
    店铺名称
    店主联系方式
    店铺售价
    库存
    店铺得分/总交易量
    发布时间
    操作

    新书比价

    网站名称
    书名
    售价
    优惠
    操作

    图书详情

    内容提要
    C 标准模板库(STL)是革命性的,但是要想学会并用好却并不容易。 Scott Meyers(EffectiveC 与More effectivec 的作者)揭示了专家总结的一些关键规则,既有专家们总是采用的做法,也有专家们总是避免的做法。通过这些规则,STL程序员可以*大限度地使用STL。在讲述50条指导原则时,本书提供了透彻的分析和深刻的实例,以让读者学到要做什么,什么时候该这样做,以及为什么要这样做。
    目录
    引言
    1 容器
    第1 条:慎重选择容器类型。
    第2 条:不要试图编写独立于容器类型的代码。
    第3 条:确保容器中的对象拷贝正确而**。
    第4 条:调用empty 而不是检查size()是否为0。
    第5 条:区间成员函数优先于与之对应的单元素成员函数。
    第6 条:当心C 编译器*烦人的分析机制。
    第7 条:如果容器中包含了通过new 操作创建的指针,切记在容器对象析构前将
    指针delete 掉。
    第8 条:切勿创建包含auto_ptr 的容器对象。
    第9 条:慎重选择删除元素的方法。
    第10 条:了解分配子(allocator)的约定和限制。
    第11 条:理解自定义分配子的合理用法。
    第12 条:切勿对STL 容器的线程**性有不切实际的依赖。
    2 vector 和string
    第13 条:vector 和string 优先于动态分配的数组。
    第14 条:使用reserve 来避免不必要的重新分配。
    第15 条:注意string 实现的多样性。
    第16 条:了解如何把vector 和string 数据传给旧的API。
    第17 条:使用“swap 技巧”除去多余的容量。
    第18 条:避免使用vector。
    3 关联容器
    第19 条:理解相等(equality)和等价(equivalence)的区别。
    第20 条:为包含指针的关联容器指定比较类型。
    第21 条:总是让比较函数在等值情况下返回false。
    第22 条:切勿直接修改set 或multiset 中的键。
    第23 条:考虑用排序的vector 替代关联容器。
    第24 条:当效率至关重要时,请在map::operator[ ]与map::insert 之间谨慎做出选择。
    第25 条:熟悉非标准的散列容器。
    4 迭代器
    第26 条:iterator 优先于const_iterator、reverse_iterator及const_reverse_iterator。
    第27 条:使用distance 和advance 将容器的const_iterator 转换成iterator。
    第28 条:正确理解由reverse_iterator 的base()成员函数所产生的iterator的用法。
    第29 条:对于逐个字符的输入请考虑使用istreambuf_iterator。
    5 算法
    第30 条:确保目标区间足够大。
    第31 条:了解各种与排序有关的选择。
    第32 条:如果确实需要删除元素,则需要在remove 这一类算法之后调用erase。
    第33 条:对包含指针的容器使用remove 这一类算法时要特别小心。
    第34 条:了解哪些算法要求使用排序的区间作为参数。
    第35 条:通过mismatch 或lexicographical_compare 实现简单的忽略大小写的字符
    串比较。
    第36 条:理解copy_if 算法的正确实现。
    第37 条:使用accumulate 或者for_each 进行区间统计。
    6 函数子、函数子类、函数及其他
    第38 条:遵循按值传递的原则来设计函��子类。
    第39 条:确保判别式是“纯函数”。
    第40 条:若一个类是函数子,则应使它可配接。
    第41 条:理解ptr_fun、mem_fun 和mem_fun_ref 的来由。
    第42 条:确保less与operator<具有相同的语义。
    7 在程序中使用STL
    第43 条:算法调用优先于手写的循环。
    第44 条:容器的成员函数优先于同名的算法。
    第45 条:正确区分count、find、binary_search、lower_bound、upper_bound 和
    equal_range。
    第46 条:考虑使用函数对象而不是函数作为STL 算法的参数。
    第47 条:避免产生“直写型”(write-only)的代码。
    第48 条:总是包含(#include)正确的头文件。
    第49 条:学会分析与STL 相关的编译器诊断信息。
    第50 条:熟悉与STL 相关的Web 站点。
    参考书目
    附录A 地域性与忽略大小写的字符串比较
    附录B 对Microsoft 的STL 平台的说明

    与描述相符

    100

    北京 天津 河北 山西 内蒙古 辽宁 吉林 黑龙江 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆 台湾 香港 澳门 海外