find_if Lambda 捕获

https://www.learncpp.com/cpp-tutorial/lambda-captures/

捕获参数默认为按值传递 const 不可改变
格式 []() {}
[想要使用的的外部变量,变量2,&引用方式传递变量](参数) {函数体}

SnakeBody sb(x, y, 0);
bool isFind = std::find_if(snake->Body.begin(), snake->Body.end(), [&sb](SnakeBody a) {return a == sb; }) != snake->Body.end();

[&sb]表示以引用传递外部参数

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • C++ lambda表达式与函数对象 lambda表达式是C++11中引入的一项新技术,利用lambda表达式可以...
    小白将阅读 85,451评论 15 117
  • lambda表达式简称lambda式,是C++11 新添加的特性。它适合表达简短、短期调用的可调用对象。 看eff...
    小码弟阅读 1,690评论 0 0
  • 1.lambda表达式 Java8最值得学习的特性就是Lambda表达式和Stream API,如果有python...
    Qihang阅读 552评论 0 0
  • java8中一个非常重要的特性就是lambda表达式,我们可以把它看成是一种闭包,它允许把函数当做参数来使用,是面...
    taj3991阅读 117评论 0 0
  • 重新系统学习下C++;但是还是少了好多知识点;socket;unix;stl;boost等; C++ 教程 | 菜...
    kakukeme阅读 20,079评论 0 50