Назад к вопросам
JuniorТеорияЧасто
Что выведет программа?
#include <iostream>
int main() {
int x = 1;
auto get = [x]() { return x; };
x = 5;
std::cout << get() << ' ' << x;
}1 5
- Ждать
5 5:[x]копируетxв момент создания лямбды, и последующие измененияxдо неё не доходят. - Ждать
1 1:[x]копируетxв лямбду, но самаxостаётся обычной переменной, иx = 5её меняет.
- Что выведет программа, если заменить захват
[x]на[&x]? - Почему
[x]() { ++x; }не компилируется безmutable?