tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
431
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    zarilla zarilla ist offline Mitglied Silber
    Registriert seit
    Jan 2004
    Beiträge
    54
    versteht jemand die source von sigc++ ?
    ich kann irgendwie nicht nachvollziehen wie methoden die durch
    Code :
    1
    
    sig.connect(SigC::slot(&objekt,  &klasse::methode));
    übergeben werden, aufgerufen werden können.
    Zeiger auf Methoden müssen doch zb so (oder so ähnlich)
    Code :
    1
    
    int  klasse::*ptrMethode(int par1, int par2);
    deklariert werden ?!
    wie kommt sigc++ auf die klasse des objektes ?
    Geändert von zarilla (08.02.04 um 21:59 Uhr)
     

  2. #2
    Registriert seit
    Jul 2003
    Ort
    Duisburg (NRW)
    Beiträge
    1.788
    Die Funktionen werden schon als Pointer gemerkt. Das ist allerdings durch eine dicke Templateschicht kaschiert. Durch die Verwendung von Templates kann der Compiler auch die Typen checken und typmässig entsprechende Slotobjekte generieren.

    Beantwortet das deine Frage?

    (Die Antwort ist ohne Gewähr. Wer mich im Fehlerfall korrigeren kann, kann mit meinem Dank rechen! )
     
    Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."

  3. #3
    zarilla zarilla ist offline Mitglied Silber
    Registriert seit
    Jan 2004
    Beiträge
    54
    ja ich hab mich schon in einem anderen Forum informiert.
    Das nennt man wohl "Template Type Deduction".
    Der Typ wird aus dem Typ der Parameter der Templatefunktion erkannt, <....> ist nicht notwendig....