10
Por que o lambda do C ++ 11 requer a palavra-chave "mutável" para captura por valor, por padrão?
Breve exemplo: #include <iostream> int main() { int n; [&](){n = 10;}(); // OK [=]() mutable {n = 20;}(); // OK // [=](){n = 10;}(); // Error: a by-value capture cannot be modified in a non-mutable lambda std::cout << n << "\n"; // "10" } A pergunta: por que precisamos …