gpt4 book ai didi

C++14 使用捕获说明符在 lambda 函数内部递增一个值

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:57:28 24 4
gpt4 key购买 nike

我的任务是编写一个增加值的 lambda 函数,但我必须使用 value = 0 捕获说明符。我正在考虑以下功能:

auto lambda = [value = 0]{return ++value}

当这个函数被调用时,它每次都必须给出一个递增的值。但是我知道这个实现是错误的,因为它是按值传递的。我如何在 C++14 中执行此操作?

最佳答案

您需要使 lambda 可变:

auto lambda = [value = 0]() mutable {return ++value;};

关于C++14 使用捕获说明符在 lambda 函数内部递增一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43309367/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com