以下のコードは 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;
}