Wenn ich zwei std::function
s habe, wie kann ich prüfen, ob beide die gleiche Funktion haben oder nicht?
Zusätzliche Information: Ich habe einen Vektor der Funktionen std::vector<std::function<void()>>
und vor dem Hinzufügen einer weiteren Funktion zum Vektor möchte ich prüfen, ob es bereits enthalten ist.
Ich denke nicht, dass sie beide verglichen werden können. Hier ist ein Beispiel , um einige Punkte im Vergleich zu std :: function zu erklären
Im Allgemeinen sind std::function
und boost::function
nicht vergleichbar, da sie ihr gespeichertes Objekt vergleichbar machen müssen, aber nicht alle Funktionsobjekte und auch Lambdas operator==
, also std
oder boost
Funktionen haben keine Möglichkeit, sie zu vergleichen