C++ 可调用对象 (Callable Object)

简介

可调用对象可分为下面几种:

    • 普通函数
    • 函数指针
    • 仿函数
    • 匿名函数
    • std::function() 和 std::bind // 标准库function类型.

xx是什么?使用场景? 如何使用? // what,where, how

lambda

一个lambda 表达式代表一个可调用的代码单元,可以将其理解成一个匿名的内联函数。

格式是:

[capture list](parameter list) -> return type {function body}

capture list 捕获列表是一个lambda 所在函数中定义的局部变量的列表。

可以忽略参数列表和返回类型,但必须有捕获列表和函数题。比如

auto f = [] { return 1; }

如果忽略了返回类型,lambda 表达式会根据代码推断出返回类型。

谓词 predicate, 即标准库算法传递的参数。 C++ named requirements: Predicate - cppreference.com

The Predicate requirements describe a callable that returns a value testable as a bool.

Predicate is typically used with algorithms that take input data (individual objects/containers) and a predicate, which is then called on input data to decide on further course of action。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值