gpt4 book ai didi

C++ 0x lambda按值捕获总是const?

转载 作者:行者123 更新时间:2023-12-02 10:32:21 26 4
gpt4 key购买 nike

有没有办法按值捕获,并使捕获的值非常量?我有一个库仿函数,我想捕获并调用一个非常量但应该是的方法。

以下内容无法编译,但使 foo::operator() const 修复它。

struct foo
{
bool operator () ( const bool & a )
{
return a;
}
};


int _tmain(int argc, _TCHAR* argv[])
{
foo afoo;

auto bar = [=] () -> bool
{
afoo(true);
};

return 0;
}

最佳答案

使用可变的。


auto bar = [=] () mutable -> bool ....

如果没有 mutable,您将声明 lambda 对象 const 的 operator ()。

关于C++ 0x lambda按值捕获总是const?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61799415/

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