Может ли/встроить лямбда-функции компилятора для повышения эффективности, как это могло бы быть с простыми стандартными функциями?
например.
std::vector<double> vd;
std::for_each(vd.begin(), vd.end(), [](const double d) {return d*d;});
Или есть потеря эффективности, вызванная отсутствием оптимизации?
Второй вопрос: где я могу проверить, использует ли компилятор оптимизированные вызовы встроенных функций, которые отправляются алгоритму? Я имею в виду, что если функция, а не объект функции, отправляется алгоритму, последний получает указатель на эту функцию, а некоторые компиляторы оптимизируют указатели на встроенные функции, а другие нет.