VIP Лямбда-выражения в C++

Активный
Статус
Сообщения
516
Лайки
32

8

месяц на сайте

Лямбда-выражения упрощают код. Разберем использование.

Базовое использование
Код:
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

int main() {
    vector<int> numbers = {1, 2, 3, 4, 5};
    
    // Лямбда для удвоения
    for_each(numbers.begin(), numbers.end(), 
        [](int& n) { n *= 2; });
    
    // Лямбда для вывода
    for_each(numbers.begin(), numbers.end(),
        [](int n) { cout << n << " "; });
    
    return 0;
}

Захват переменных
Код:
#include <iostream>
using namespace std;

int main() {
    int multiplier = 3;
    
    auto lambda = [multiplier](int x) {
        return x * multiplier;
    };
    
    cout << lambda(5) << endl; // 15
    
    return 0;
}

Захват по ссылке
Код:
#include <iostream>
using namespace std;

int main() {
    int counter = 0;
    
    auto increment = [&counter]() {
        counter++;
    };
    
    increment();
    increment();
    cout << counter << endl; // 2
    
    return 0;
}

Важные моменты:
- Используйте лямбды для краткости
- Правильно захватывайте переменные
- Избегайте излишней сложности
- Документируйте сложные лямбды

Лямбда-выражения упрощают код!
 

1 человек читают эту тему (Всего: 1, Пользователей: 0, Гостей: 1)

Сверху