首页 > 编程语言 >关于c++ 匿名函数的 记录

关于c++ 匿名函数的 记录

时间:2024-08-14 13:49:44浏览次数:8  
标签:return 函数 temp int auto 捕获 c++ 匿名 lambda

后续补充 与测试

在 C++ 中,匿名函数(lambda 表达式)要使用同作用域下的一个临时变量,可以通过捕获列表和参数列表的不同组合来实现。以下是几种常见的组合:

1.
按值捕获([=]):

int temp = 10;
auto lambda = [=]() {
return temp;
};

1.
按引用捕获([&]):

int temp = 10;
auto lambda = [&]() {
return temp;
};

1.
按值捕获特定变量:

int temp = 10;
auto lambda = [temp]() {
return temp;
};

1.
按引用捕获特定变量:

int temp = 10;
auto lambda = [&temp]() {
return temp;
};

1.
捕获 this 指针([this]):

class MyClass {
public:
int temp = 10;
void myFunction() {
auto lambda = [this]() {
return temp;
};
}
};

1.
按值捕获所有变量并捕获 this 指针([=, this]):

class MyClass {
public:
int temp = 10;
void myFunction() {
auto lambda = [=, this]() {
return temp;
};
}
};

1.
按引用捕获所有变量并捕获 this 指针([&, this]):

class MyClass {
public:
int temp = 10;
void myFunction() {
auto lambda = [&, this]() {
return temp;
};
}
};

标签:return,函数,temp,int,auto,捕获,c++,匿名,lambda
From: https://www.cnblogs.com/braveCloud/p/18358824

相关文章

  • C++单例模式
    当我们学习类的时候,有private、public、构造函数和析构函数等等,帮助我们应对不同的需求,以此来应对不同的设计问题。那么会存在以下一种情况,我们模拟一个国家政体,一个国家只能有一个总统。我们目前能创建多个对象的方法有,1.通过复制对象,2.实例化时创建多个对象,对于第一种我们可以......
  • 3163:【例27.3】 第几项(C、C++、python)
    3163:【例27.3】第几项信息学奥赛一本通-编程启蒙(C++版)在线评测系统[例27.3]第几项2020:【例4.5】第几项信息学奥赛一本通(C++版)在线评测系统27.3_哔哩哔哩_bilibiliC语言代码:#include<stdio.h>#include<stdlib.h>intmain(){intm,s=0,n=0;s......
  • 【C++ Allocator】 详解C++的空间配置器和vector的底层实现以及push_back()和empalce_
    空间配置器用于管理动态内存分配和释放,STL容器类(如std::vector,std::list,std::map等)都使用配置器来管理内存。它有非常重要的特点:将容器的内存开辟和对象构造分离开将容器的对象析构和内存释放分离开这样能够高效的插入元素以及删除元素vectorSTL中典型的容器vec......
  • C++赋值运算符
    赋值运算符 = 用于将一个值赋给一个变量。对于自定义类型,如类和结构体,你可以重载赋值运算符以定义如何将一个对象的值赋给另一个对象。默认赋值运算符对于类类型,默认的赋值运算符会执行成员逐一赋值(member-wisecopy)。这意味着对于两个对象a和b,表达式a=b;将每个成员从b复制......
  • C++关键字static
    1.静态成员变量:当static关键字用于类的成员变量时,意味着这个变量是类的所有实例共享的。无论类实例有多少个,静态成员变量只有一个副本。静态成员变量经常用于存储类的公共数据,如配置选项或计数器。classMyClass{public:staticintcount;//静态成员变量};intMyCl......
  • CUDA函数的概念、种类和示例
    在CUDA编程中的函数:A,总述1,CUDA内置函数CUDA内置函数是由NVIDIA提供的,用于支持CUDA编程模型的一系列预定义函数。这些函数包括内存管理(如cudaMalloc、cudaFree)、数据复制(如cudaMemcpy)、同步操作(如cudaDeviceSynchronize)、数学运算(如sin、cos等数学函数在设备代码中的版本,如__sin......
  • CUDA的核函数与CNN的核函数
    CUDA的核函数和CNN(卷积神经网络)的核函数是两个完全不同的概念,它们分别属于不同的领域和应用。#1CUDA核函数CUDA(ComputeUnifiedDeviceArchitecture)是一种由NVIDIA开发的并行计算平台和编程模型。CUDA核函数是指在CUDA程序中,由GPU执行的函数。这些函数被设计为在GPU上并行运行,......
  • CUDA核函数
    CUDA核函数(Kernel)是用于在GPU上并行执行的函数,它们通过特定的方式被声明和调用,以利用GPU的并行计算能力。CUDA核函数具有一些独特的特性和限制,以下是对CUDA核函数的一些详细介绍:声明与调用声明:CUDA核函数使用__global__关键字进行声明,以区别于只能在CPU上执行的函数。核函数的......
  • 使用 onBeforeRouteLeave 组合式函数提升应用的用户体验
    title:使用onBeforeRouteLeave组合式函数提升应用的用户体验date:2024/8/14updated:2024/8/14author:cmdragonexcerpt:摘要:本文介绍了在Nuxtjs中使用onBeforeRouteLeave组合式函数来提升应用用户体验的方法。onBeforeRouteLeave允许在组件离开当前路由前执行逻辑,如......
  • 彼岸花开C++,类和对象(下)
    目录对类和对象的深层理解(1)再谈构造函数(2)Static成员(3)友元(4)内部类(5)匿名对象(6)再次理解类和对象对类和对象的深层理解(1)再谈构造函数1.构造函数体赋值在创建对象时,编译器通过调用构造函数,给对象中各个成员变量一个合适的初始值。classDate{public:Date(int......