Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

c++仿函数

作者:绝朢╭ァ   发布日期:2026-06-27   浏览:91

// C++仿函数示例代码

#include <iostream>
#include <vector>
#include <algorithm>

// 定义一个仿函数类,用于计算平方
class Square {
public:
    // 重载operator(),使其像函数一样调用
    int operator()(int x) const {
        return x * x;
    }
};

int main() {
    // 创建一个整数向量
    std::vector<int> numbers = {1, 2, 3, 4, 5};

    // 使用std::transform和仿函数将每个元素平方
    std::transform(numbers.begin(), numbers.end(), numbers.begin(), Square());

    // 输出结果
    for (int num : numbers) {
        std::cout << num << " ";
    }

    return 0;
}

解释说明:

  1. 仿函数(Functor):仿函数是通过重载 operator() 的类对象,使其可以像普通函数一样调用。它不仅具有函数的特性,还可以拥有自己的状态。
  2. Square 类:这个类定义了一个仿函数,重载了 operator(),用于计算整数的平方。
  3. std::transform:这是 C++ 标准库中的一个算法,用于对范围内的元素进行转换操作。这里我们使用它来将向量中的每个元素平方。
  4. 输出结果:最后,我们遍历并输出处理后的向量内容。

这段代码展示了如何定义和使用仿函数,并结合标准库算法进行数据处理。

上一篇:c++swap函数

下一篇:c++字符串排序

大家都在看

c++闭包

c++向上取整的代码

c++单引号和双引号的区别

c++ 注释

c++如何判断素数

c++怎么输入字符串

c++字符串切片

c++ functional

c++框架代码

c++格式化字符串

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站