Ich habe eine funktionierende C ++ - Callback-Funktion, die von einem Benutzer ausgelöst wird, der das Ereignis 'mouse down' ausführt. (Die IDE ist VS2010.)
Mit jedem Aufruf möchte ich eine einfache Zählvariable inkrementieren, die lokal für den Gültigkeitsbereich des Rückrufs ist. Einfach gesagt, was ist der beste Weg, dies zu tun?
Vielen Dank im Voraus für Ihre Meinungen oder Anweisungen.
Ersetzen Sie Ihre Callback-Funktion durch einen Funktor - sie können den Status speichern. Ein Beispiel funktor:
%Vor% Beachten Sie die Verwendung von shared_ptr
im Funktor. Dies liegt daran, dass f
eine lokale Kopie des Funktors besitzt (beachten Sie den Pass-by-Wert) und Sie möchten, dass diese Kopie int
mit der Funktor, auf den Sie zugreifen können. Beachten Sie auch, dass f
sein Argument nach Wert nehmen muss, da Sie alle callables und nicht nur Funktoren unterstützen wollen.
Tags und Links c++