首页 > 编程语言 >C++匿名函数

C++匿名函数

时间:2023-02-12 00:11:52浏览次数:43  
标签:std 函数 int 捕获 C++ 匿名

#include <iostream>

std::string aaa = "111";

int main() {
    // [] 称为lambda捕获列表,它的含义为:告诉编译器需要在匿名函数内部使用外部的变量。捕获列表中的内容控制着匿名函数对外部作用域的变量的访问权限。
    // a、[] 空捕获
    auto func_a = [](int x, int y) { return x + y; };
    std::cout << func_a(3, 4) << std::endl;

    // b、[x, y] 指定目标捕获
    int x = 10, y = 20;
    auto func_b = [x, y](int a, int b) {
        return x + y + a + b;
    };
    std::cout << func_b(100, 200) << std::endl;


    int a = 123;
    int b = 321;
    // c、[&] 引用捕获,可捕获所有能够访问到的变量(修改原值)
    ([&]() {
        aaa = "222";
        a = a + b;
        b = a + b;
    })();
    // d、[=] 值捕获,可捕获所有能够访问到的变量(不能原值)
    ([=]() {
        std::cout << a << std::endl;
        std::cout << b << std::endl;
    })();

    std::string bbb = "333";
    return 0;
}

标签:std,函数,int,捕获,C++,匿名
From: https://www.cnblogs.com/hhddd-1024/p/17113115.html

相关文章

  • 学习C++第五天
    今日主要学习指针和结构体,并对前几天的知识进行一个测试总结指针和结构体#define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>//intmain()//{// inta=10;//a在内存......
  • c++ 可以检测线程是否销毁的thread_guard
    #include<bits/stdc++.h>usingnamespacestd;constintN=1e6+1e2,Q=N;usingll=longlong;intn,q;lla[N];intsta[N];structq_t{ intl,r;}que[Q......
  • Spring构造函数
    Spring中的一个bean,需要实例化得到一个对象,而实例化就需要用到构造方法。一般情况下,一个类只有一个构造方法:要么是无参的构造方法要么是有参的构造方法如果只有一个......
  • vue2 data 一定要是函数吗?
    答:不一定,可以是对象,vue文档中表述有误导性而已,他自己的例子里也有对象的形式functioninitData(vm){letdata=vm.$options.datadata=vm._data=typeofdata......
  • 原型 / 构造函数 / 实例
    原型(prototype):一个简单的对象,用于实现对象的属性继承。可以简单的理解成对象的爹。在Firefox和Chrome中,每个JavaScript对象中都包含一个_proto_(非标准)的属性指向它爹(该......
  • C++ 调用 Python 总结(一)
    PS:要转载请注明出处,本人版权所有。PS:这个只是基于《我自己》的理解,如果和你的原则及想法相冲突,请谅解,勿喷。前置说明  本文作为本人csdnblog的主站的备份。(BlogID......
  • Java8新特性3-Lambda-内置功能性函数式接口
    比较典型的几个Java8的内置功能性函数式接口在java.util.function包下,主要有四大核心的内置功能型函数式接口:谓词(Predicate)函数(Function)生产者(Supplier)消费者(Cons......
  • C++11 中运行代码块耗时的方法以及坑(chrono 方法)
    PS:要转载请注明出处,本人版权所有。PS:这个只是基于《我自己》的理解,如果和你的原则及想法相冲突,请谅解,勿喷。前置说明  本文作为本人csdnblog的主站的备份。(BlogID......
  • 关于C++ 多态实现技术的深度解析(vfptr,vftable)
    PS:要转载请注明出处,本人版权所有。PS:这个只是基于《我自己》的理解,如果和你的原则及想法相冲突,请谅解,勿喷。前置说明  本文作为本人csdnblog的主站的备份。(BlogID......
  • GCC&&G++ C && C++ 内嵌汇编和调用汇编函数的方法(x86,ARM自己对照改)
    PS:要转载请注明出处,本人版权所有。PS:这个只是基于《我自己》的理解,如果和你的原则及想法相冲突,请谅解,勿喷。前置说明  本文作为本人csdnblog的主站的备份。(BlogID......