C++中的标准库函数对象

1. 什么是函数对象 (Function Object)? 首先,一个函数对象(也常被称为仿函数 Functor),其本质是一个重载了函数调用运算符 operator() 的类的对象。 简单来说,它是一个“行为像函数”的对象。你可以像调用一个普通函数一样来“调用”这个对象。 一个最简单的自定义函数对象示例: #include <iostream> // 1. 定义一个类 class Greeter { public: // 2. 在类中重载 operator() void operator()(const std::string& name) const { std::cout << "Hello, " << name <…

C++中视图(View)对象适配器

C++20 表格 适配器 (Adapter) 主要功能 简要说明与示例 views::all 将一个容器或范围转换为视图。 这是许多视图操作的基础,确保你正在处理一个视图。 <br>示例: views::all(my_vector) views::filter 过滤范围中的元素。 只保留那些满足特定谓词(返回 true)的元素。<br>示例: views::filter([](int i){ return i % 2 == 0; }) (只保留偶数) views::transform 转换范围中的每个元素。 对每个元素应用一个函数,并生成一个包含转换后结果的新视图。 <br>示例: views:…

OJ-1

基础算法实践一 vector 基本是对基础Vector的应用,这里复习一下: 构造vector变量: //创建一个空的vector vector<int> vec1; //初始化列表(C++11) vector<int> vec2 = {1, 2, 3, 4, 5}; vector<string> vec_str = {"hello", "world"}; //制定空间数量,并给予默认值,这里是5个空间,默认值100 vector<int> vec4(5, 100); //复制操作 vector<…