() 来实现的 ;
函数对象的一个重要特性是 " 可以存储状态 " ; 这意味着你可以 在类的成员变量中存储数据 , 这些数据可以 在函数调用之间保持不变 ;
普通的函数 是 无法存储状态 的 , 因为...;
在下面的示例中 , 函数对象 中 维护了一个状态位 , 用于记录该 函数对象 的调用次数 ;
下面的 函数对象 / 仿函数 中 , 存储了状态 n , 每调用一次该仿函数 , 该成员自增 1 ;...是一个 值 , 不是引用 ;
传递的是 引用 的话 , 那么 外部的对象 和 实参值 是相同的对象 ;
传递的是 值 的话 , 那么 实参 只是 外部的对象 的 副本值 , 在 for_each 函数中..., 由于 for_each 是 值传递 , 传递的 只是 函数对象副本 , 副本的 状态改变 不会影响到外部函数 ;
如果想要 保留上述 状态改变 , 则需要使用 函数对象 接收 for_each 的返回值..., 传递的 只是 函数对象副本 , 副本的 状态改变 不会影响到外部函数 ;
如果想要 保留上述 状态改变 , 则需要使用 函数对象 接收 for_each 的返回值 , 这个函数对象 保留了 内部 函数对象参数副本