Ist es sehr verwerflich, wenn ein Objekt (Anwendung) einen statischen Zeiger auf sich selbst bereit stellt?
Ich habe immer wieder mal Probleme mit Callback Funktionen. Diese müssen ja statisch sein und gehören damit zwar zur Klasse, haben aber keinen Bezug zur aktuellen Instanz. Das ist kein Problem, wenn ein Objekt, das einen Callback auslöst, in das Hauptfenster einer Anwendung eingebettet ist. Ich kann dann immer das Parent Fenster ermitteln, da die Callback Funktion immer einen Zeiger auf das verursachende Objekt bekommt.
Das funktioniert aber nicht, wenn der Verursacher ein eigenständiges Fenster ist (das keinen Parent hat). Bisher habe ich in solchen Fällen den Objekten einen Zeiger auf den Eigentümer mitgegeben, welcher dann im Callback verwendet wird. Das macht die Sache aber recht umständlich.
Die Zuordnung zum Hauptfenster wird immer dann benötigt, wenn Daten zwischen Objekten ausgetauscht werden sollen, die sich eigentlich nicht kennen (sollen).
Ich habe auch schon versucht, herauszufinden wie das bei Qt gemacht wird, aber das war wir im ersten Anlauf nicht wirklich gelungen.
So ein Self-Pointer scheint mir da eine ziemlich einfache Lösung zu sein um einem Vermittler die Arbeit zu erleichtern. Oder gibt es da schwere Bedenken?