c++(面向对象)[算术运算类函数对象、关系运算函数对象]

  1. 算术运算类函数对象
    函数对象应用实例结果
    plus<T>()plus<T>()(a,b);a+b
    minus<T>()minus<T>()(a,b);a-b
    multiplies<T>()multiplies<T>()(a,b);a*b
    divides<T>()divides<T>()(a,b);a/b
    modulus<T>()modulus<T>()(a,b);a%b
    negate<T>()negate<T>()(a,b);-a
  2. 关系运算函数对象
    函数对象应用示例结果
    greater<T>()greater<T>()(a,b);a>b
    greater_equal<T>()greater_equal<T>()(a,b);a>=b
    less<T>()less<T>()(a.b);a<b
    less_equal<T>()less_equal<T>()(a.b);a<=b
    equal_to<T>()equal_to<T>()(a,b);a==b
    not_equal_to<T>()not_equal_to()(a,b);a!=b
  3. 函数的默认参数:函数参数的默认值只能在函数原型中提供,而不能同时提供与函数定义中。在为函数参数设置默认值时,必须严格的从右向左给形参提供默认值,提供的实参严格的从左向右逐渐匹配形参。
  4. 定义lambda函数,总是以方括号“[]”开始。【1】(x):以值传递的方式捕捉变量x。【2】[=]:以值传递的方式捕捉父作用域中的所有变量。【3】[&x]:以引用传递的方式捕捉变量x。【4】[&]:以引用传递的方式捕捉父作用域中的所有变量。【5】[=,&x,&y]:以引用传递的方式捕捉变量x和y,以值传递的方式捕捉其余变量。【6】[&,x]:以值传递的方式捕捉变量x,以引用传递的方式捕捉其余变量。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值