溫馨提示×

functor在c++中的實現方式

c++
小樊
96
2024-08-17 18:49:35
欄目: 編程語言

在C++中,functor是一個可被調用的對象,類似于函數指針。它可以像函數一樣被調用,但是可以擁有更多的狀態信息和行為。在C++中,functor通常是一個重載了函數調用運算符operator()的類。

以下是一個示例實現一個簡單的functor類:

#include <iostream>

class AddFunctor {
public:
    AddFunctor(int value) : value(value) {}

    int operator()(int x, int y) {
        return x + y + value;
    }

private:
    int value;
};

int main() {
    AddFunctor addFunctor(10);
    
    std::cout << addFunctor(5, 7) << std::endl; // 輸出:22
    
    return 0;
}

在上面的例子中,AddFunctor類重載了operator()函數,它接收兩個整數參數并返回它們的和再加上functor中存儲的值。通過創建一個AddFunctor對象并調用它,我們可以像調用函數一樣使用這個functor。

使用functor的好處包括可以存儲狀態信息、可以方便地通過重載operator()函數實現不同行為、可以方便地傳遞給STL算法等。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女