Нижеприведенный код печатает 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;
}