Sobes.tech
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;
}

Функторҳо дар китобхонаи стандартӣ барои танзими рафтори алгоритмҳо бисёр истифода мешаванд.