函数对象
数组 enum eRelation // 表示计算策略的枚举体 { eLess, // 小于 eEqual, // 等于 eGreater // 大于 }; template< typename T, typename ITER_TYPE> ITER_TYPE find_if_number( ITER_TYPE begin, ITER_TYPE end, eRelation relType, const T &target ) // 用数值表示策略的find_if函数 { for(ITER_TYPE iter = begin; iter!=end; iter++) // 遍历迭代器区间 { switch( relType ) // 根据不同的策略 { case eLess: if( *iter < target ) // 比较当前元素与目标 { return iter; // 返回迭代器 } case eEqual: if( *iter == target ) { return iter; } case eGreater: if( *iter > target ) { return iter; } } } return end; // 失败,则返回区间尾部 } int main(int argc, char *argv[]) // 主函数 { int ary[5] = {1,2,3