gpt4 book ai didi

C++11 lambda 捕获列表引用

转载 作者:太空狗 更新时间:2023-10-29 21:42:58 24 4
gpt4 key购买 nike

<分区>

下面是我关于c++11 lambda的练习代码:

#include<iostream>
int d = 0;
int main()
{
int e = 1;
auto i = [&]() ->int {
e += 1;
d += 1;
return d;};

d += 1;
std::cout << "the value of d:" << d << std::endl;
std::cout << "the value of i():" << i() << std::endl << " e:" << e << " d:" << d << std::endl;
std::cout << " e:" << e << " d:" << d << std::endl;
return 0;
}

我得到的结果不符合预期:

the value of d:1
the value of i():2
e:1 d:1
e:2 d:2

我只是不明白为什么

 std::cout << "the value of i():" << i() << std::endl << " e:" << e << " d:"  << d << std::endl;
std::cout << " e:" << e << " d:" << d << std::endl;

这两行给出不同的 e 和 d 输出?

ps:原谅我的英语不好

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