Junior — Middle
Можете ли да обясните какво се разбира под понятията функтор в програмирането?
sobes.tech AI
Отговор от 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;
}
Функторите често се използват в стандартната библиотека за настройка на поведението на алгоритмите.