Kiedy używam [=]
aby wskazać, że chciałbym, aby wszystkie zmienne lokalne były przechwytywane przez wartość w lambdzie, czy spowoduje to wszystkie zmienne lokalne w kopiowanej funkcji, czy tylko wszystkie zmienne lokalne, które są używane przez lambdę ?
Na przykład, jeśli mam:
vector<int> my_huge_vector(100000);
int my_measly_int;
some_function([=](int i){ return my_measly_int + i; });
Czy my_huge_vector zostanie skopiowany, mimo że nie używam go w lambdzie?