Callback Funktion mit map
-
Kann man durch einen Eintrag auf einem bestimmten Key in einer map eine Callback aufrufen. Was ich meine ist so etwas:
Falls map-key = 1 Eintrag hat, Methode A als Callback Falls map-key = 2 Eintrag hat, Methode B als Callback
So etwas möglich? Oder was könnte eventuell so ablaufen?
-
Also Deine Frage verstehe ich anders als dein Beispiel, aber es ist beides mögich und einfach:
int main() { typedef int Key; typedef std::function<void(void)> Function; // Für ein Key ein Callback aufrufen std::map<Key, Function> callbacks; callbacks[1] = Foo; callbacks[2] = Bar; callbacks[1](); callbacks[2](); // Oder so? std::vector<Function> callbacks2; callbacks2.push_back(Foo); callbacks2.back()(); // Falls map-key = 1 Eintrag hat, Methode A als Callback callbacks2.push_back(Bar); callbacks2.back()(); // Falls map-key = 2 Eintrag hat, Methode B als Callback }