c++ 11 Event implementation





  • Ja swordfish, wie oft soll ich es denn noch sagen? Ist doch klar.
    Es soll kein Ratespiel werden. Um das richtige Projekz geht es doch nicht mehr.
    Hier tut es ja jetzt. Vieleicht auch mit Derferenzierung. Habe ich nun nicht mehr getestet.

    Mir war nicht klar wieso es mit und ohne Dereferenzierung funktioniert. Und das war meine letze Frage.
    Und da kam dann hustbear daher und hat mich nochmals auf den fehlenden Sourcecode hingewiesen und du nochmals auf den Beitrag. Und darauf habe ich lediglich geantwortet ohne Anspruch auf Hilfe zu dem fehlenden Code.



  • Na dann ist ja gut.



  • Ja es ist gut. Ausser natürlich die Frage wieso geht es mit und ohne dereferenzierung.



  • @booster sagte in c++ 11 Event implementation:

    Ausser natürlich die Frage wieso geht es mit und ohne dereferenzierung.

    Weil es std::bind bei einer Member Function sch*** egal ist, was es bekommt, eine Referenz oder einen Pointer. Es verhält sich in beiden Fällen exakt gleich.

    #include <functional>
    #include <iostream>
    
    struct foo
    {
    	static int count;
    	int id;
    	foo() : id{ ++count } {}
    
    	void bar(int arg){ std::cout << static_cast<void*>(this) << "->" << "bar(" << arg << ") (id = " << id << ")\n"; }
    };
    
    int foo::count{};
    
    int main()
    {
    	using namespace std::placeholders;
    
    	foo a;
    	foo b;
    
    	auto f0{ std::bind(&foo::bar, a, _1) };
    	auto f1{ std::bind(&foo::bar, std::ref(a), _1) };
    	auto f2{ std::bind(&foo::bar, &b, _1) };
    
    	f1(0);
    	f1(1);
    	f2(2);
    }
    

Anmelden zum Antworten