Тип лямбды в C++
У лямбды нет короткого имени типа, как
у int. Его не пишут руками.
Переменную объявляют через auto,
и компилятор сам запоминает параметры
и результат:
int main() {
auto doubleNum = [](int x) {
return x * 2;
};
std::cout << doubleNum(4) << "\n"; // выведет 8
return 0;
}
Для двух параметров схема та же - тип
выводится из списка аргументов и
return:
int main() {
auto sum = [](int a, int b) {
return a + b;
};
std::cout << sum(1, 2) << "\n"; // выведет 3
return 0;
}
Объявите переменную mark с
auto и присвойте ей лямбду со
строковым параметром, которая возвращает
эту строку с восклицательным знаком
в конце. Выведите результат для
"garden".
Объявите переменную bothPositive
с auto. Лямбда принимает два
целых и возвращает true, если
оба аргумента больше 0.
Выведите результат для 2 и 3
и для -1 и 5.