Код ниже выводит 0, но я ожидаю увидеть 1. Мой вывод состоит в том, что лямбда-функции вызываются не путем фактической передачи захваченных параметров функциям, что более интуитивно понятно. Я прав или я что-то упускаю?
#include <iostream>
int main(int argc, char **argv){
int value = 0;
auto incr_value = [&value]() { value++; };
auto print_value = [ value]() { std::cout << value << std::endl; };
incr_value();
print_value();
return 0;
}