Re[5]: Внутренние функции класса
От: B0FEE664  
Дата: 18.01.19 13:41
Оценка:
Здравствуйте, rg45, Вы писали:

R>Можно-то можно, вот только нужно ли. Я понимаю, если лямбда передается параметром в какую-то другую функцию, тогда, конечно, ее использование обправдано, ибо ради этого лямбды и придуманы, собственно. А опредлить лямбду только для того, чтобы тут же ее и вызвать — польза от такого использования лично для меня сомнительна. Обычная свободная функция в анонимном пространстве имен — вот что самое оно для таких случаев — код получается и проще, и компактнее, и читабельнее. Хотя, все субъективно, конечно.


Чем плохо:
void Foo::Prn()
{
    auto fnEnabled = [](bool b) -> const char* { return b ? "enabled" : "disabled"; };

    std::cout << "filter   : " << fnEnabled(m_bFilter  ) << std::endl
              << "leds     : " << fnEnabled(m_bLeds    ) << std::endl
              << "detector : " << fnEnabled(m_bDetector) << std::endl;
}

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