1. 程式人生 > >utilities——C++常用仿函式(二)

utilities——C++常用仿函式(二)

identity (證同性函式)

f(x)=x
template<class T>
struct identity : public unary_function<T, T>
{
    const T& operator()(const T& x) const
    {
        return x;
    }
}

identity 的數學含義是證同性函式,即不做修改,保持原值;

std::identity<int>()(5);
            // 第一對括號表示仿函式的例項化,因為其建構函式為空的預設構造
            // 第二對括號表示呼叫括號運算子過載