Junior — Middle
Μπορείτε να εξηγήσετε τι εννοείται με τον όρο functor στον προγραμματισμό;
sobes.tech AI
Απάντηση από AI
Στον προγραμματισμό, ειδικά στη C++, ένας functor είναι ένα αντικείμενο που μπορεί να κληθεί ως μια συνάρτηση. Συνήθως, είναι μια κλάση ή δομή με έναν υπερφορτωμένο τελεστή operator(). Αυτό επιτρέπει τη χρήση αντικειμένων ως συναρτήσεις, κάτι που είναι βολικό για την παράδοση συμπεριφορών σε αλγόριθμους.
Παράδειγμα functor σε 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;
}
Οι functors χρησιμοποιούνται συχνά στη βιβλιοθήκη standard για την προσαρμογή της συμπεριφοράς των αλγορίθμων.