В C++ не существует прямого аналога стрелочных функций, как в JavaScript. Однако, можно использовать лямбда-выражения для создания более компактного кода.
Лямбда-выражения позволяют определить анонимную функцию прямо внутри другой функции или выражения. Они обычно используются вместе с алгоритмами стандартной библиотеки C++, функциями высшего порядка и функциональными объектами.
Вот пример сокращения функции с использованием лямбда-выражения:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> numbers = {1, 2, 3, 4, 5};
// Исходная функция
auto isEven = [](int n) { return n % 2 == 0; };
// Использование функциональности стандартной библиотеки с лямбда-функцией
auto it = std::find_if(numbers.begin(), numbers.end(), isEven);
if (it != numbers.end()) {
std::cout << "Первое четное число: " << *it << std::endl;
}
return 0;
}
```
В данном примере, мы определяем лямбда-функцию isEven внутри main. Лямбда-функция проверяет, является ли число четным. Затем мы используем эту функцию вместе с алгоритмом std::find_if для поиска первого четного числа в векторе numbers.
Таким образом, использование лямбда-выражений позволяет сократить код в C++ и создать анонимные функции внутри других функций или выражений.