C++ count_if处理自定义类型

avatar
作者
猴君
阅读量:0

在C++中,可以使用count_if函数来处理自定义类型。count_if函数可以接受一个范围和一个谓词函数,并返回范围中满足谓词函数条件的元素个数。

下面是一个例子,展示如何使用count_if函数处理一个自定义类型Person的向量,统计其中满足条件的元素个数:

#include <iostream> #include <vector> #include <algorithm>  // 自定义类型 Person struct Person {     std::string name;     int age; };  // 谓词函数,用于判断年龄大于等于18岁的人 bool isAdult(const Person& person) {     return person.age >= 18; }  int main() {     // 创建一个存储 Person 对象的向量     std::vector<Person> people = {         {"Alice", 25},         {"Bob", 16},         {"Charlie", 30},         {"David", 20}     };      // 使用 count_if 函数统计年龄大于等于18岁的人数     int numAdults = std::count_if(people.begin(), people.end(), isAdult);      std::cout << "Number of adults: " << numAdults << std::endl;      return 0; } 

在上面的例子中,定义了一个自定义类型Person,并创建了一个存储Person对象的向量people。然后定义了一个谓词函数isAdult,用于判断一个Person对象是否年龄大于等于18岁。最后使用count_if函数统计people向量中满足条件的元素个数,并输出结果。

通过这种方式,可以方便地处理自定义类型的数据,并使用count_if函数对其进行处理。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!