Ich arbeite an einer Ressourcenverwaltungsklasse und möchte, dass der Benutzer einer "ReleaseResource" -Methode als Teil des Konstruktors des Ressourcenmanagers einen Funktor zur Verfügung stellt. Von dort, wenn eine Ressource angefordert wird, wird Funktor als Deleter für die shared_ptr bereitgestellt, die ich zurückgeben werde, so dass die entsprechende Methode aufgerufen wird, wenn die Ressource nicht mehr verwendet wird.Funktoren als Variablen beibehalten
Das Problem, auf das ich stoße, das erfordert mich, den Funktor in meiner Klasse zu speichern, und ich bin nicht ganz sicher, wie man das macht. Normalerweise, wenn ein Funktor mit Vorlage Sie die Funktion wie folgt:
template<class MyFunctor> MyMethod(MyFunctor f) {
f();
}
Das ist sehr gut, wenn Sie den Funktors in dem Anwendungsbereich dieser Funktion verwenden wollen, aber da die Vorlage geht aus Rahmen mit der Funktion Ich bin nicht sicher, wie Sie eine Variable des passenden Typs angeben würden, um den Funktor zur späteren Verwendung zu speichern.
Kann mir hier jemand in die richtige Richtung zeigen?
Ausgezeichnet! Genau das habe ich gesucht. Vielen Dank! – Toji