Есть ли какая-то разница в производительности или памяти между захватом и прохождением по аргументации для немедленно оцC++

Программы на C++. Форум разработчиков
Anonymous
Есть ли какая-то разница в производительности или памяти между захватом и прохождением по аргументации для немедленно оц

Сообщение Anonymous »

Рассмотрение двух примеров: < /p>

Код: Выделить всё

Object obj;
auto val = [&obj](){ return obj.func(); }();
auto val2 = [](const Object& obj){ return obj.func(); }(obj);
< /code>
Есть ли различия между ними? Насколько я понимаю, первое создаст некоторое закрытие лямбды с переменной -членом, присвоенной ссылкой на OBJ 
, тогда как второе создаст закрытие лямбды без переменных членов (только оператор () , который они оба будут иметь). В любом случае, большинство компиляторов не имеют значения в конце концов? Это вообще зависит от сложности тела лямбды?


Подробнее здесь: https://stackoverflow.com/questions/794 ... ssing-by-a

Вернуться в «C++»