greater<> Zeiger statt Referenzen übergeben
-
Hallo Forum,
ich habe folgendes Problem:
Ich habe Zeiger auf Elemente einer Klasse A in ein std::deque gepackt:class A { // Irgendwelche Methoden }; typedef std::deque<A*> AList;
Diese möchte ich nun mit std::sort sortieren und zwar mit dem greater<A>-Funktionsobjekt.
Jetzt erwartet dieses Funktionsobjekt aber Referenzen auf die Klasse A und keine Zeiger.
Wie kann ich dem greater<A>-Objekt denn Zeiger für meine Klasse A übergeben?
-
Da wird es wohl das einfachste sein, eben schnell ein greater Funktionobjekt zu schreiben, welches die übergebenen Objekte noch einmal dereferenziert.
edit: Das hier sollte funktionieren, habe ich aber nicht getestet:
template <class T> struct pgreater : binary_function <T*,T*,bool> { bool operator() (const T *x, const T *y) const {return (*x)>(*y);} };
-
Wie kann ich dem greater<A>-Objekt denn Zeiger für meine Klasse A übergeben?
Gar nicht. Falsche Frage. Versuch's nochmal.