std::all_of、std::any_of、std::none_of

【1】示例程序以及注释

复制代码
 1 #include <iostream>
 2 #include <functional>
 3 #include <vector>
 4 #include <algorithm>
 5 
 6 std::function<bool(int)> is_even_number = [](int x) -> bool
 7 {
 8     std::cout << "call is_even_number params : " << x << std::endl;
 9     return (std::fmod(x, 2) == 0);
10 };
11 
12 int main()
13 {
14     auto printResult = [](std::string funcName, bool bResult) {
15         std::cout << funcName << (bResult ? "::yes" : "::no") << std::endl << std::endl;
16     };
17 
18     std::vector<int> even = { 2, 4, 6, 8, 10 };
19 
20     // 容器中所有元素全部为偶数,则返回true;否则返回false。
21     printResult("std::all_of", std::all_of(even.begin(), even.end(), is_even_number));
22 
23     // 若容器中任一元素为偶数,则返回true;否则将继续遍历剩余元素。
24     printResult("std::any_of", std::any_of(even.begin(), even.end(), is_even_number));
25 
26     // 容器中没有一个元素为偶数,则返回true;否则返回false。
27     // 即就是:容器中但凡有一个元素为偶数,则返回false。
28     printResult("std::none_of", std::none_of(even.begin(), even.end(), is_even_number));
29 
30     return 0;
31 }
32 
33 // run result:
34 /*
35 call is_even_number params : 2
36 call is_even_number params : 4
37 call is_even_number params : 6
38 call is_even_number params : 8
39 call is_even_number params : 10
40 std::all_of::yes
41 
42 call is_even_number params : 2
43 std::any_of::yes
44 
45 call is_even_number params : 2
46 std::none_of::no
47 */
复制代码
posted @   kaizenly  阅读(301)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
打赏

喜欢请打赏

扫描二维码打赏

微信打赏

点击右上角即可分享
微信分享提示