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

Последнее обновление: 25.03.2023
Упражнение 1

Определите лямбда-выражение, которое возвращает количество строк в векторе std::vector<std::string>, которые начинаются с определенной буквы.

Решение
#include <iostream>
#include <vector>

int main()
{
    std::vector<std::string> names{"Tom", "Sam", "Bob", "Tim", "Sandra", "Alice"};
    std::cout << "Names: ";
    for (const auto& name : names)
    {
        std::cout << name << "\t";
    }
    std::cout << std::endl;

    auto count { [&names](char letter)
    {
      unsigned n {};
      for (auto& name : names)
        if (letter == name[0]) ++n;
      return n;
    }
  };
  
    char ch {'T'};
    std::cout << count(ch) << " names begin(s) with " << ch << std::endl;
}

Консольный вывод

Names: Tom      Sam     Bob     Tim     Sandra  Alice
2 names begin(s) with T
Дополнительные материалы
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850