当前位置: 首页 > news >正文

城乡建设与环保部网站设计师网红

城乡建设与环保部网站,设计师网红,网站关键词优化建议,人力资源招聘公司文章目录 一、函数对象与谓词1、一元函数对象2、 谓词 概念3、find_if 查找算法 二、一元谓词示例1、代码示例 - 一元谓词示例2、执行结果 一、函数对象与谓词 1、一元函数对象 函数对象 是通过 重载 函数调用操作符 () 实现的 operator() , 函数对… 文章目录 一、函数对象与谓词1、一元函数对象2、 谓词 概念3、find_if 查找算法 二、一元谓词示例1、代码示例 - 一元谓词示例2、执行结果 一、函数对象与谓词 1、一元函数对象 函数对象 是通过 重载 函数调用操作符 () 实现的 operator() , 函数对象 可以 像普通函数一样被调用 , 但同时它们 还可以拥有状态并且可以有多个成员函数 ; 一元函数对象 是 函数对象 的一种 , 只 接受一个参数 并返回某个结果的 函数对象 称为 一元函数对象 ; 一元函数对象 在 标准模板库 ( STL , Standard Template Library ) 中特别常见 , 尤其是在 STL 算法中 , 因为它们可以用作自定义操作 , 以适应各种不同的需求 ; 例如 : 使用 一元函数对象 来定义一个操作 , 该操作将被应用于容器中的每个元素 ; 在上一篇博客 【C】STL 算法 ③ ( 函数对象中存储状态 | 函数对象作为参数传递时值传递问题 | for_each 算法的 函数对象 参数是值传递 ) 中的代码示例中的 PrintT 函数对象 , 其 重载的 函数调用操作符 函数 void operator()(T t) 只接收一个参数 , 这是一个 一元函数对象 ; //函数对象 类重载了() template typename T class PrintT { public:void operator()(T t) {cout n . t endl;// 每调用一次, 自增 1n;}private:// 每调用一次, 该成员自增 1// 该状态一直存储int n 0; };2、 谓词 概念 谓词 ( Predicate ) 是 C 语言中的 标准模板库 ( STL , Standard Template Library ) 算法的 重要概念 ; 谓词 ( Predicate ) 是一个 返回 布尔 bool 类型值 的 函数对象 / 仿函数 或 Lambda 表达式 / 普通函数 , 可用于对某个条件进行检查 ; 当 谓词 ( Predicate ) 被用于算法中时 , 会对序列中的元素进行某种测试 , 返回一个布尔类型的测试结果 , 根据不同的结果执行不同的操作 ; 谓词 ( Predicate ) 类型 : 普通函数函数指针重载了 函数调用操作符 的 函数对象 / 仿函数 , 有 operator() 函数 ; 谓词 ( Predicate ) 通常被设计成可以接受一定数量的参数 一元谓词 : 接受一个参数二元谓词 : 接受两个参数 谓词的 函数体 中 根据 传入的 参数 进行计算 , 并返回 true 或 false 布尔值 ; 3、find_if 查找算法 std::find_if 算法 是 C 语言的 标准模板库 中提供的一种算法 , 该算法 用于 在 容器 中查找满足特定条件的第一个元素 ; find_if 算法 的原理是 : 执行该算法时 , 遍历容器序列 , 对每个元素应用指定的 一元谓词 ; 如果 找到满足 一元谓词 返回 true 的元素 , 则返回 指向该元素的迭代器 ;如果 没有找到满足 一元谓词 返回 true 的元素 , 则返回 结束迭代器 ; std::find_if 算法的函数原型如下 : // FUNCTION TEMPLATE find_if template class _InIt, class _Pr _NODISCARD _InIt find_if(_InIt _First, const _InIt _Last, _Pr _Pred) { // find first satisfying _Pred_Adl_verify_range(_First, _Last);auto _UFirst _Get_unwrapped(_First);const auto _ULast _Get_unwrapped(_Last);for (; _UFirst ! _ULast; _UFirst) {if (_Pred(*_UFirst)) {break;}}_Seek_wrapped(_First, _UFirst);return _First; }二、一元谓词示例 下面的代码示例中 , 定义了 一元谓词 : template typename T class equalFour { public:bool operator()(T t) {if (t 4) {return true;}else {return false;}} };该 一元谓词 的 作用是 , 接收一个 T 类型的元素 , 判断该元素的值是否为 4 , 如果是 , 则返回 true , 如果不是 , 则返回 false ; 将该 一元谓词 , 传入到 find_if 算法函数中 ; 执行该算法时 , 遍历容器序列 , 对每个元素应用指定的 一元谓词 , 这里会查找满足 值等于 4 的元素 ; 如果找到满足 一元谓词 返回 true 的元素 , 则返回 指向该元素的迭代器 ;如果没有找到满足 一元谓词 返回 true 的元素 , 则返回 结束迭代器 ; 1、代码示例 - 一元谓词示例 #include iostream using namespace std; #include vector #include algorithm #include functional//函数对象 类重载了() template typename T class equalFour { public:bool operator()(T t) {if (t 4) {return true;}else {return false;}} };int main() {// 创建一个 vector 单端数组容器vectorint vec;// 向容器中插入元素vec.push_back(1);vec.push_back(2);vec.push_back(3);vec.push_back(4);vec.push_back(5);// 查找等于 4 的元素auto it find_if(vec.begin(), vec.end(), equalFourint());if (it ! vec.end()){cout 找到了第一个等于 4 的数 : *it endl;}// 控制台暂停 , 按任意键继续向后执行system(pause);return 0; };2、执行结果 执行结果 : 找到了第一个等于 4 的数 : 4 请按任意键继续. . .
http://www.w-s-a.com/news/889338/

相关文章:

  • 做仿站如何获取网站源码windows2012做网站
  • 网站建设最好的公司东莞外贸网站
  • 普兰店网站建设一般做网站什么价格
  • 网站建设的发展目标甘肃网站设计公司
  • 常州西站建设规划室内装修设计学校哪里好
  • 大连网站制作选择ls15227如何编辑网站
  • 网站发稿平台迪士尼网站是谁做的
  • 常州有哪些好的网站建设案例wordpress 360 插件
  • 模板网站有后台么柳城网站建设
  • 地方门户网站制作一级做c爱片的网站
  • 自己上传图片做动漫图网站北京福田汽车
  • 一级a做爰片免费网站录像ps做网站图片水印
  • 网页广告投放成都优化推广公司
  • 网站开发 印花税网页制作站点
  • 创建个人网站有什么好处国外建站系统
  • 桂林学校网站制作2018年网站设计公司
  • 建网站不想用怎样撤销搜狗收录提交入口网址
  • 做简单网站需要学什么软件有哪些南通优普网站建设
  • 网站排版尺寸湖北交投建设集团集团网站
  • 南京网站设计公司有哪些公司看动漫是怎么做视频网站
  • vs做网站怎么做窗体怎么在电脑上自己做网站吗
  • 做网站应该学什么网站编程 外包类型
  • 双鱼儿 网站建设站群系统哪个好用
  • 怎样自己做刷赞网站电商设计需要学什么软件有哪些
  • 关注城市建设网站居众装饰
  • 网站建设的语言优化企业网站
  • 成都旅游网站建设规划女性门户资讯类网站织梦dedecms模板
  • 二手车为什么做网站网站建设合作合同范文
  • 网站建设维护和网页设计做网站都需要服务器吗
  • 成都网站设计报告书系统平台