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

В программировании, особенно в C++, функтор — это объект, который можно вызвать как функцию.

Короткий ответ

Что ответить на собеседовании

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

Подробный разбор

Ответ с пояснениями

В программировании, особенно в 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;
}

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

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку