0.时刻提醒自己

Note: vector的释放

1.区别

函数 功能
all_of 区间[开始, 结束)中是否所有的元素都满足判断式p,所有的元素都满足条件返回true,否则返回false。
any_of 区间[开始, 结束)中是否至少有一个元素都满足判断式p,只要有一个元素满足条件就返回true,否则返回true。
none_of 区间[开始, 结束)中是否所有的元素都不满足判断式p,所有的元素都不满足条件返回true,否则返回false。

all_of 与 none_of 是相反的,这样就不用修改判断条件了,换函数就行。

2.all_of用法

2.1 代码

// 分数
std::vector<int> vec_score{10 , 2, 33, 43, 52}; // 是否大于100
bool is_greater_than_100 = std::all_of(vec_score.begin(), vec_score.end(), [](int &item) {return 100 < item; }); if (!is_greater_than_100)
std::cout << "不全大于100\n\n";
else
std::cout << "全大于100\n\n";

2.2 输出结果

3.any_of用法

3.1 代码

// 分数
std::vector<int> vec_score{10 , 2, 33, 43, 52}; // 是否存在大于100的元素
bool is_exist_greater_than_100 = std::any_of(vec_score.begin(), vec_score.end(), [](int &item) {return 100 < item; }); if (is_exist_greater_than_100)
std::cout << "存在大于100的分数\n";
else
std::cout << "不存在大于100的分数\n\n";

3.2 输出结果

4.none_of 用法

4.1 代码

// 分数
std::vector<int> vec_score{10 , 2, 33, 43, 52}; // 检查所有分数是否全部不大于100
bool is_less_than_100 = std::none_of(vec_score.begin(), vec_score.end(), [](int &item) {return 100 < item; }); if (is_less_than_100)
std::cout << "所有分数都不大于100\n";
else
std::cout << "存在大于100的分数\n\n";

4.2 输出结果

5.异常

其实,上面的代码写的不够规范,因为这三个函数可能会抛出异常。 参考cppreference

拥有名为 ExecutionPolicy 的模板形参的重载按下列方式报告错误:
◦若作为算法一部分调用的函数的执行抛出异常,且 ExecutionPolicy 为标准策略之一,则调用 std::terminate 。对于任何其他 ExecutionPolicy ,行为是实现定义的。
◦若算法无法分配内存,则抛出 std::bad_alloc 。

最新文章

  1. ROS语音交互——科大讯飞语音合成TTS(二)
  2. Java(六)——抽奖系统
  3. Tomcat settings should be set in Tomcat Preference Page解决
  4. C#中的可空值类型
  5. My租房网
  6. U3D包大小优化之microlib
  7. [C/C++]数据类型与变量
  8. 【Longest Palindromic Substring】cpp
  9. ArcMap自定义脚本工具制作
  10. poj 2720 Last Digits
  11. Unity3D UGUI 自动调节大小
  12. 【原创】大数据基础之SPARK(9)SPARK中COLLECT和TAKE实现原理
  13. mina使用总结
  14. 去除HTML5 SUMMARY 标签前的三角形
  15. 服务网关Zuul
  16. Final互评------《飞词》---- 拉格朗日2018
  17. Reimplementing event handler
  18. order meeting room - 离散度30min
  19. idea中java文件打包出去步骤
  20. 【ExtJS】FormPanel 布局(一)

热门文章

  1. 【机器学习与R语言】12- 如何评估模型的性能?
  2. 暂时lvs
  3. 数据库(database)介绍
  4. Flume消费内外网分流配置的Kafka时遇到的坑
  5. Spring Boot 热启动插件
  6. JuiceFS 性能评估指南
  7. Scala【json字符串和json对象互相转换】
  8. 大数据学习day16------第三阶段-----scala04--------1. 模式匹配和样例类 2 Akka通信框架
  9. 零基础学习java------day6----数组
  10. Android消除Toast延迟显示