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

新疆交通建设管理局项目执行一处网站新闻媒体发布平台

新疆交通建设管理局项目执行一处网站,新闻媒体发布平台,沈阳哪家公司做的网站靠谱,小程序入口qq浏览器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.hrbkazy.com/news/54387.html

相关文章:

  • 加强三农网站建设的意义关键词优化难度查询
  • 德州网站建设教程关键词调词平台费用
  • 南宁网站设计平台长沙优化官网服务
  • 免费可商用素材网站线上营销活动案例
  • 给企业建设网站的意义秦皇岛seo优化
  • 怎么做cms网站seo关键词优化排名外包
  • 百度网盘做自已网站东莞seo建站优化哪里好
  • 专门教做衣服的网站seo咨询推广找推推蛙
  • 成都网站建设优化前十营销渠道分为三种模式
  • java做交互网站系统网络营销logo
  • 政府网站建设滞后企业网络策划
  • 小游戏网站欣赏宁德网站建设制作
  • wordpress外链图片自动seo优化外包顾问
  • 温州外贸网站企业宣传册模板
  • 网站建设制作浩森宇特北京网站推广营销策划
  • 网站微信认证费用seo推广培训中心
  • 网站建设工具开源广告营销推广方案
  • 网站流量和带宽最新的疫情情况
  • 任何人任意做网站销售产品违法吗优化搜狗排名
  • 网页设计 公司四川seo快速排名
  • 网站设计点评推蛙网络
  • 驻马店做网站哪家好浙江seo公司
  • 济南网站建设套餐seo工作内容
  • 网站怎么设置二级域名关键词推广营销
  • 网站搜索引擎怎么做福建百度seo排名点击软件
  • 请人做网站seo外链发布技巧
  • 二维码网页制作免费网站制作搜索引擎大全排名
  • 双桥区网站制作网络推广怎么做好
  • 河南省建设监理协会官网站百度小程序关键词优化
  • 旅游网站建设公司seo基础教程视频