源码之前,了无秘密  ——侯杰

第六章算法

  next_permutation

    比如:01342 -> 01423 -> 01432

    方法:从尾端开始往前寻找两个相邻的元素,令第一个元素为*i,第二个元素为*ii,

      且满足 *i <*ii,找到这样一组相邻元素后,再从最尾端开始往前检验,找到第一

      个大于*i的元素,令为*j,将i,j元素对调,再将ii之后的所有元素颠倒排行,此即

      所求之“下一个”排列组合。

  prev_permutation:类似于next_permutation

第七章:仿函数

  仿函数:调用者可以像函数一样地被调用,在被调用者则以对象所定义的function call operator

      扮演函数的实质角色。

    实现观点而言,仿函数其实上就是一个”行为类似函数“的对象。为了能够”行为类似函数”,

    其类别定义中必须自定义(或说改写。重载)function call 运算子(operator()),

    拥有这样的运算子后,就可以在仿函数的对象后面加上一对小括号,以此调用仿函数

    所定义的operator()

  算术类仿函数:

  加法:plus<T>

template<class T>
Struct plus:public binary_function<T,T,T> {
T operator()(const T &x, const T &y) const {
return x+y;
}

第八章:配接器

    配接器在STL组件的灵活组合运用功能上,扮演着轴承,转换器的角色。

    将一个class的接口转换为另一个class的接口,使原本接口不兼容而不能合作的

    class,可以一起运作。

  应用于容器(container adapter):queue、 stack

  应用于迭代器(iterator adapters):insert iterators、 reverse iterators、 iostream iterators

  应用于仿函数(function adapters):

最新文章

  1. jsp动作元素之forward指令
  2. Hasor-Core v0.0.4 &amp; Web v0.0.3 发布
  3. MS SQLServer 操作XML语句的存储过程
  4. tomee 第一个 远程调用 Message-driven bean(MDB)
  5. 自动化测试工具Selenium和QTP的比较
  6. 怎么安装phpcms?PHPCMS V9安装图文教程
  7. 使用Eclipse的几个必须掌握的快捷方式(能力工场小马哥收集)
  8. MySQL表结构为InnoDB类型从ibd文件恢复数据
  9. 在 SQL Server 2012 附加 Adventure Works 範例資料庫
  10. iWatch # 初始化工程
  11. mvc项目如何在IIS7.5
  12. andorid之摄像头驱动流程--MTK平台
  13. linux_文件类型
  14. if-case-循环语句
  15. 基础学习14天 MD5加密
  16. python内置函数 和模块函数总结
  17. ASP.NET MVC概述及第一个MVC程序
  18. rsync算法原理和工作流程分析
  19. noip第26课作业
  20. Linux 系统访问控制列表ACL

热门文章

  1. [问与答]怎样在 Android Stuido中删除一个project
  2. 采用JSP+JavaBean的方式进行简单的实现用户的网页登陆实例
  3. 怎样写一个与Win8 IE11兼容的标准BHO?
  4. CRM导入组织报实例名称必须与计算机名称相同的问题
  5. OpenCV由汉字生成图片(透明)----可以对抗论文查重!!!
  6. SpriteBuilder中CCB精灵对象的Sprite frame为什么有时候不能修改
  7. Struts2中的缓存----以Injector为例
  8. CCT之CAMERA TUNNING调试学习总结
  9. 打开Visual Studio 2010,左下角显示正在从包...加载工具箱内容,卡住5、6秒!!!
  10. rails关于user密码hash的重构