Ich möchte ein dynamisches Nachrichtensystem in meinem C++-Projekt haben, eines, in dem es eine feste Liste von vorhandenen Ereignissen gibt, Ereignisse können überall während der Laufzeit ausgelöst werden, und wo Sie Callback-Funktionen für bestimmte Ereignisse abonnieren können.
Es sollte eine Option für Argumente geben, die in diesen Ereignissen weitergegeben werden. Zum Beispiel könnte ein Ereignis keine Argumente benötigen (EVENT_EXIT)
und manche brauchen vielleicht mehrere davon (EVENT_PLAYER_CHAT: Player object pointer, String with message)
Die erste Möglichkeit, dies zu ermöglichen, besteht darin, dem Ereignismanager beim Auslösen eines Ereignisses einen void-Zeiger als Argument zu übergeben und ihn in der Callback-Funktion zu empfangen.
Obwohl: Mir wurde gesagt, dass void-Zeiger unsicher sind und ich sie nicht verwenden sollte.
- Wie kann ich halten (semi) dynamische Argumenttypen und zählt für meine Ereignisse, während nicht mit void Zeiger?