• C++谓词函数(无师自通)

    谓词函数是一个返回布尔值的函数。

    一元谓词函数就是只釆用一个实参的函数。使用一元谓词函数可以确定一个给定对象是否具有某些特征。

    例如,可以使用以下类创建函数对象,该函数对象就是一元谓词函数,它可以判断一个整数是奇数还是偶数:

    class IsEven
    {
        public:
            bool operator()(int x)
            {
                return x % 2 == 0;
            }
    }

    以下代码显示了如何使用通过该类创建的一个谓词函数对象:

    int number;
    cout << " Enter an integer:";
    cin << number;
    if (IsEven()(number))
    {
        cout << " Even ";
    }
    else
    {
        cout << " Odd ";
    }

    二元谓词函数就是釆用两个形参的谓词函数。使用二元谓词函数可以确定两个对象是否以某种方式相关联。

    例如,可以使用以下类创建一个谓词函数,以确定一个整数是否比另外一个整数小:

    class LessThan
    {
        public:
            bool operator()(int a, int b)
            {
                return a < b;
            }
    }

    表达式 LessThan() 是一个函数对象,而 LessThan()(x,y) 则代表了使用实参 x 和 y 调用函数对象的结果。

更多...

加载中...