Лямбда [&] и [=]
От: ffk  
Дата: 26.10.17 04:08
Оценка:
Привет всем.

Не могу для себя ответить на такй вопрос: В каких случаях полезно использовать [&] и [=] вместо явного перечесления набора параметров?

Из плюсов у меня есть только один довод — очень лень прописывать аргументы, но это довод так себе, т.к. если лямбда использует овер дофига переменных, то это уже какая-то не правильная лямбда, а если их всего 1...4, то и перечислить не проблема. К тому же, мы полностью контролируем что происходит внутри.

Из мунусов [&=] — сложнее отследить область использования переменной. В случае с & мы можем случайно что-то испортить на стеке, например, вместо константной функции, может быть вызвана мутирующая, таким образом после завершения лямбды гораздо сложнея предсказать что было изменено. В случае [=] кто-то выше по стеку создаст тяжелый для копирования объект и лямбда его скопирует, тоже плохо...

И так, кто может привести аргументы за [&=] ?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.