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