База ответов ИНТУИТ

Программирование на С/С++

<<- Назад к вопросам

В каких случаях эффективно использование лямбда-функции?

(Ответ считается верным, если отмечены все правильные варианты ответов.)

Варианты ответа
передача в обобщённый алгоритм STL(Верный ответ)
при необходимости использования в функторе всех автоматические переменные из места передачи функтора в алгоритм(Верный ответ)
передача функтора по указателю в пользовательскую функцию(Верный ответ)
использование функциональности, унаследованной от другого класса
Похожие вопросы
<pre> //====================== start of sample.cpp ========================== int main(int argc, char* argv[]) { const int a = 0; int b = 0; const int X = 0; int Y = 0; int Z = 0; auto lf1 = [&amp;Y, Z, &amp;a, &amp;b, X] (double x) {return x &gt; 0;}; return 0; } //====================== end of sample.cpp ========================== </pre> Значения каких переменным лямбда функция lf1 может изменить?
В каких случаях проявляется проблема множественного наследования?
В каких случаях используется идиома «Конверт/письмо»?
В каких случаях происходит по членная инициализация объекта класса?
<pre> //====================== start of sample.cpp ========================== #include &lt;algorithm&gt; #include &lt;vector&gt; int main(int argc, char* argv[]) { std::vector&lt;int&gt; v1; auto lf1 = [] (int x) {return x > 0;}; auto lf3 = [] (int&amp; x) { x++; return;}; auto lf5 = [] (bool&amp; z) { z = !z; return;}; int cnt1 = std::count_if(v1.begin(), v1.end(), lf1); int cnt2 = std::count_if(v1.begin(), v1.end(), [] (int x) -> bool {return x+1;}); int cnt3 = std::count_if(v1.begin(), v1.end(), lf3); int cnt4 = std::count_if(v1.begin(), v1.end(), [] (int x, int&amp; y) -> double {return x+y;}); int cnt5 = std::count_if(v1.begin(), v1.end(), lf5); return cnt1; } //====================== end of sample.cpp ========================== </pre> При вычислении каких переменных лямбда-функции в алгоритме count_if используются корректно?
Каковы преимущества использования лямбда функций?
<pre> //====================== start of sample.cpp ========================== int main(int argc, char* argv[]) { int a = 0; int b = 0; int X = 0; auto lf1 = [a,b,X] (int x) {return x > 0;}; auto lf2 = [a,b] (int x) { x++; return x;}; auto lf3 = [=] (int x) { x++; return x;}; auto lf4 = [&amp;] (int x) { x++; return x;}; auto lf5 = [] (bool&amp; z) { z = !z; return;}; return 0; } //====================== end of sample.cpp ========================== </pre> Какие лямбда функции из примера выше имеют доступ к значению переменной X?
Какие из объявлений лямбда функций ниже выполнены корректно?
Какую парадигму программирования поддерживают лямбда-функция в языке С/С++
К каким последствиям приведёт использование ключевого слова extern при описании переменной, находящейся внутри тела функции?