Effective STL学习笔记-条款39

来源:互联网 发布:网络视听节目 编辑:程序博客网 时间:2024/06/16 19:08

用纯函数做判断式

  • 判断式是返回bool(或者其他可以隐式转化为bool的东西)。判断式在STL中广泛使用。标准关联容器的比较函数是判断式,判断式函数常常作为参数传递给算法,比如find_if和多种排序算法。
  • 纯函数是返回值只依赖于参数的函数。如果f是一个纯函数,x和y是对象,f(x, y)的返回值仅当x或y的值改变的时候才会改变。
  • 一个判断式类是一个仿函数类,它的operator()函数是一个判断式,也就是,它的operator()返回true或false(或其他可以隐式转换到true或false的东西)。正如你可以预料到的,任何STL想要一个判断式的地方,它都会接受一个真的判断式或一个判断式类对象。

这里的意思就是函数不能有多种状态,根据同一个入参得到的结果是一样的。

原创粉丝点击