美文网首页Effective STL
【Effective STL】索引

【Effective STL】索引

作者: downdemo | 来源:发表于2018-03-17 13:35 被阅读27次
  • 本书针对性地介绍标准库容器和算法的使用准则,但不是STL的参考教程,读者需要有一定STL使用经验。

参考


1. 容器

  • 01 仔细选择你的容器
  • 02 小心对“容器无关代码”的幻想
  • 03 使容器里对象的拷贝操作轻量而正确
  • 04 用empty来代替检查size()是否为0
  • 05 尽量使用区间成员函数代替他们的单元素兄弟
  • 06 警惕C++最令人恼怒的解析
  • 07 当使用new得指针的容器时,记得在销毁容器钱delete那些指针
  • 08 永不建立auto_ptr的容器
  • 09 在删除选项中仔细选择
  • 10 注意分配器的协定和约束
  • 11 理解自定义分配器的正确用法
  • 12 对STL容器线程安全性的期待现实一些

2. vector和string

  • 13 尽量使用vector和string来代替动态分配的数组
  • 14 使用reserve来避免不必要的重新分配
  • 15 小心string实现的多样性
  • 16 如何将vector和string的数据传给遗留的API
  • 17 使用“交换技巧”来修整过剩容量
  • 18 避免使用vector<bool>

3. 关联容器

  • 19 了解相等和等价的区别
  • 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比较实现简单的忽略大小写字符串比较
  • 36 了解copy_if的正确实现
  • 37 用accumulate或for_each来统计区间

6. 仿函数、仿函数类、函数等

  • 38 把仿函数类设计为用于值传递
  • 39 用纯函数做判断式
  • 40 使仿函数类可适配
  • 41 了解使用ptr_fun、mem_fun和mem_fun_ref的原因
  • 42 确定less<T>表示operator<

7. 使用STL编程

  • 43 尽量用算法调用代替手写循环
  • 44 尽量用成员函数代替同名的算法
  • 45 注意count、find、binary_search、lower_bound、upper_bound和equal_range的区别
  • 46 考虑使用函数对象代替函数作算法的参数
  • 47 避免产生只写代码
  • 48 总是#include适当的头文件
  • 49 学习破解有关STL的编译器诊断信息
  • 50 让你自己熟悉有关STL的网站

相关文章

  • 【Effective STL】索引

    本书针对性地介绍标准库容器和算法的使用准则,但不是STL的参考教程,读者需要有一定STL使用经验。参考The C+...

  • 常用的 STL 查找算法

    常用的 STL 查找算法 《effective STL》中有句忠告,尽量用算法替代手写循环;查找少不了循环遍历,在...

  • EFFECTIVE+STL中文版:50条有效使用STL的经验

    《Effective STL中文版:50条有效使用STL的经验》是EffectiveC++的第3卷,被评为“值得所...

  • 任务列表

    C++ 《C++ primer》、《STL源码解析》、《effective C++》、《深度搜索c++对象模型》 ...

  • effective stl总结

    得注意进度了,稍微写快一点得 条款15:小心string实现的多样性1.一个小问题,sizeof(string)的...

  • Effective STL - 引言

    揭开使用STL时各 陷阱的 来源 / 解决方案的优劣 接口与实现分离: 对于STL, 不能简单地使用这条规则原因:...

  • 【Effective STL(7)】使用STL编程

    43 尽量用算法调用代替手写循环 很多要用循环来实现的任务可以改用算法来实现,算法内部也包含一个循环 使用算法有三...

  • 【Effective STL(5)】算法

    30 确保目标区间足够大 STL容器在被添加时(通过insert、push_front、push_back等)自动...

  • 【Effective STL(1)】容器

    01 仔细选择你的容器 02 小心对“容器无关代码”的幻想 序列容器支持push_front、push_back,...

  • Effective STL-6 遍布STL的 functor

    part6 遍布STL的 functor, 通常应该可配接(adaptable), 并经 function Ada...

网友评论

    本文标题:【Effective STL】索引

    本文链接:https://www.haomeiwen.com/subject/shmhqftx.html