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

湘icp备 网站建设 机械 湖南wordpress 获取友链

湘icp备 网站建设 机械 湖南,wordpress 获取友链,网站编程设计心得体会,wordpress不显示模板STL-函数对象 函数对象概念 重载函数调用操作符的类,其对象常称为函数对象函数对象使用重载的()时,行为类似函数调用,也叫仿函数 本质 函数对象(仿函数)是一个类,不是一个函数—修改算法策略—采用虚拟对象调用 函数对象的使用理…

STL-函数对象

  • 函数对象概念
    • 重载函数调用操作符的类,其对象常称为函数对象
    • 函数对象使用重载的()时,行为类似函数调用,也叫仿函数
  • 本质
    • 函数对象(仿函数)是一个类,不是一个函数—修改算法策略—采用虚拟对象调用
  • 函数对象的使用
  • 理解
    • 仿函数其实就是理解为取出当前容器中的数据,而后在重载()()中进行相关的运算输出,输出的是何种值就是该重载函数的返回值类型
    • 特点
      • 函数对象在使用时,可以像普通函数那样调用,可以有参数,可以有返回值—通过类构造对象后实现函数
      • 函数对象超出普通函数的概念,函数对象可以有自己的状态—可以有自己的属性,因为自身就是一个类
      • 函数对象可以作为参数传递
  • 谓词
    • 概念
      • 返回bool类型的仿函数称为谓词
      • 如果operator()接受一个参数,那么叫做一元谓词
      • 如果operator()接受两个参数,那么叫做二元谓词
  • 内建函数对象—已经存在的仿函数
    • 概念
      • STL内建了一些函数对象
    • 分类
      • 算术仿函数
      • 关系仿函数
      • 逻辑仿函数
    • 用法
      • 这些仿函数所产生的对象,用法和一般函数完全相同
      • 使用内建函数对象,需要引入头文件#include< functional >
  • 算术仿函数
    • 功能
      • 实现四则运算
      • 其中negate是一元运算,其他都是二元运算
  • 四则运算仿函数原型
    • template< class T > T plus< T >—加法仿函数
    • template< class T > T minus< T >—减法仿函数
    • template< class T > T multiplies< T >—乘法仿函数
    • template< class T > T divides < T >—除法仿函数
    • template< class T > T modulus < T >—取模仿函数
    • template< class T > T negate < T >—取反仿函数
      void test(void){negate<int>n;cout << n(50) << endl;plus<int>p;cout << p(10, 20) << endl;}
    
  • 关系运算仿函数
    • template< class T > bool equal_to< T >—等于
    • template< class T > bool no_equal_to< T >—不等于
    • template< class T > bool greater< T >—大于
    • template< class T > bool greater_equal < T >—大于等于
    • template< class T > bool less < T >—小于
    • template< class T > bool less_equal < T >—小于等于
      void test(void){vector<int> v;v.push_back(10);v.push_back(30);v.push_back(20);sort(v.begin(), v.end(), greater<int>());//等价于sort(v.begin(), v.end(), mycompare());}
    
  • 逻辑关系仿函数
    • template< class T > bool logical_and< T >—逻辑与
    • template< class T > bool logical_or< T >—逻辑或
    • template< class T > bool logical_not< T >—逻辑非
      void test(void){vector<int> v;v.push_back(true);v.push_back(false);v.push_back(true);//利用逻辑非将容器v搬运到容器v2中vector<int> v2;v2.resize(v.size());//要开辟好transform(v.begin(), v.end(), v2.begin(), logical_not<bool>);}
    
http://www.15wanjia.com/news/156274.html

相关文章:

  • 上海网站推广费用成都市城乡建设网站
  • 网站页面上的悬浮窗怎么做wordpress中文版安装教程 pdf
  • html网站系统广西企业建站
  • 深圳网站建设价钱如何设计一个购物网站
  • 有什么网站可以做投票功能吗河北移动端网站制作
  • 镜像别人网站做排名的好处怎样加入网站
  • 天津特定网站建设推广电商设计详情页
  • 企业网站优化兴田德润优惠响应式网站的宽度
  • 企业网络营销网站猎头公司怎么找
  • 网站的pdf目录怎么做的泰安房产成交信息网
  • 做国际网站怎么发货网络营销文案创作思路有哪些
  • 企业网站建设教程 pdfwordpress模板站
  • 注册网站免费注册邮箱创新设计多功能水杯
  • 大连网站搭建与推广dede中英文网站
  • 自动做reference的网站html前端网页模板
  • opencms做网站 谁杨凌开发建设局网站
  • 东莞企业网站后缀中山网站建设文化服务
  • 佛山网站网站建设平台期怎么突破
  • 泉州建网站自学编程入门先学什么
  • 安卓手机网站开发如何推广自己的网站和产品
  • 找图片素材网站一级a做爰片免费网站短视频播放
  • 上海 网站设计公司推广的公司
  • 湖北省建设厅造价官方网站三星杭州 两学一做网站
  • logo制作网站免费互联网站平台有哪些
  • 自己做网站流程网站排名关键词
  • 截图京东图片做网站汇中建设 官方网站
  • 东莞市做网站最新新闻热点事件2024年
  • 有哪些做高考模拟卷的网站上海网站建设网页设计
  • 七星迪曼网站建设衡阳网站建设怎样收费
  • 徐汇网站开发培训wordpress手机版本