Sobes.tech
Назад к вопросам
Junior — Middle
103

Могли бы вы объяснить, что подразумевается под понятием функтор в программировании?

Ответ от нейросети

sobes.tech AI

В программировании, особенно в C++, функтор — это объект, который можно вызвать как функцию. Обычно это класс или структура с перегруженным оператором operator(). Это позволяет использовать объекты как функции, что удобно для передачи поведения в алгоритмы.

Пример функтора на C++:

#include <iostream>

struct MultiplyBy {
    int factor;
    MultiplyBy(int f) : factor(f) {}
    int operator()(int x) const {
        return x * factor;
    }
};

int main() {
    MultiplyBy multiplyBy3(3);
    std::cout << multiplyBy3(10); // Выведет 30
    return 0;
}

Функторы часто используются в стандартной библиотеке для настройки поведения алгоритмов.