Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Как сконвертировать GNU-C вложенные функции в лямбды С++ и чтоб переносимо

02.02.19 18:56
Re: Как сконвертировать GNU-C вложенные функции в лямбды С++ и чтоб переносимо
 
LifeRider постоялец
LifeRider
в ответ ilghiz 02.02.19 18:27
А почему вы, сионисты, упорно во всех примерах передаете лямбдам ссылки на все внешние переменные?

И чего это сразу - сионисты, наше дело auto и [&] написать, а дальше - компилятор умный, он пусть думает... Он вот в первом примере сам догадался, что лямбда с [&] - это от лукавого, и родил кондовый function pointer, я современных плюсовых компиляторов уже и побаиваться стал. :))

Переменные моих головных фунций лежат в стеке, обычно хорошо закешированном во всех кешах памяти предыдущими операциями, и производительность от такой конструкции не падает.

Ну да, производительность от использования лямбд не должна падать, хоть лямбды по-сути есть конвертация в класс, но при этом они создаются в стеке и конструктор класса - inlined. Но, сравнительно потестировать тайминги вызовов не мешало бы. Вот тут https://web.mst.edu/~nmjxv3/articles/lambdas.html немного об оверхеде лямбд в плюсах.

 

Перейти на