Funkcjonalność operatora pustego () ()

Jestem zdezorientowany co do funkcjonalnościvoid operator()().

Czy mógłbyś mi o tym powiedzieć, na przykład:

class background_task
{
public:

    void operator()() const
    {
        do_something();
        do_something_else();
    }
};

background_task f;

std::thread my_thread(f);

Tutaj, dlaczego potrzebujemyoperator()()? Jakie jest znaczenie pierwszego i drugiego()? Właściwie znam działanie normalnego operatora, ale ten operator jest mylący.

questionAnswers(4)

yourAnswerToTheQuestion