Wieso Funktoren anstatt Funktionspointer?



  • Wieso nimmt man Fuktoren wenn es auch einfache Funktionspointer tun? Ich bin mir im klaren, dass man Fuktoren bei der Erschaffung noch zusätzliche Parameter übergeben kann, allerdings wenn man das nicht braucht.

    Ich seh immer Leute

    class Foo
    {
    public:
      void operator()(int){}
    };
    //...
    for_each(begin, end, Foo());
    

    benutzen und nie

    void Foo(int){}
    //...
    for_each(begin, end, &Foo);
    

    Hat das irgendein speziellen Grund? 😕



  • Irgendwer schrieb:

    Hat das irgendein speziellen Grund? 😕

    funktoren kann der compiler problemlos inlinen


Anmelden zum Antworten