91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

c++的functor如何配合STL使用

c++
小樊
84
2024-08-17 18:50:38
欄目: 編程語言

在C++中,functor是一種行為類似函數的對象,可以像函數一樣被調用。STL(Standard Template Library)中的很多算法和容器都可以接受functor作為參數,可以通過functor來自定義算法的行為。

以下是一些使用functor配合STL的示例:

  1. 使用functor排序vector:
#include <iostream>
#include <vector>
#include <algorithm>

// 定義一個比較函數對象
struct Compare {
    bool operator()(int a, int b) {
        return a < b;
    }
};

int main() {
    std::vector<int> vec = {5, 2, 8, 3, 1};

    // 使用自定義的比較函數對象對vector進行排序
    std::sort(vec.begin(), vec.end(), Compare());

    for (int num : vec) {
        std::cout << num << " ";
    }

    return 0;
}
  1. 使用functor進行自定義轉換:
#include <iostream>
#include <vector>
#include <algorithm>

// 定義一個轉換函數對象
struct Square {
    int operator()(int num) {
        return num * num;
    }
};

int main() {
    std::vector<int> vec = {1, 2, 3, 4, 5};

    // 使用自定義的轉換函數對象對vector中的元素進行平方操作
    std::transform(vec.begin(), vec.end(), vec.begin(), Square());

    for (int num : vec) {
        std::cout << num << " ";
    }

    return 0;
}

通過使用functor,可以方便地在STL中自定義算法的行為,使代碼更加靈活和可重用。

0
内丘县| 万山特区| 海宁市| 博白县| 都昌县| 霍林郭勒市| 雷山县| 淮安市| 工布江达县| 连平县| SHOW| 琼海市| 井陉县| 新野县| 黎城县| 江口县| 珲春市| 拉孜县| 博野县| 达拉特旗| 嘉祥县| 阳西县| 江门市| 嘉鱼县| 确山县| 蒲江县| 佛冈县| 平阴县| 东乡县| 阜阳市| 盐山县| 岐山县| 霍林郭勒市| 云林县| 乐山市| 安庆市| 尼木县| 瓦房店市| 马尔康县| 兴和县| 岳阳市|