std::list<T>::sort() : einfache Frage
-
Wie can ich eine Andere VergleichsFunktion als operator< mit list<T>::sort()benutzen?
Ich habe das Problem, dass ich eine List von Pointer habe und diese Liste soll nach dem Wert auf den verwiesen wird geordnet werden. Nun kann ich aber operator< nicht für Pointer überladen.
-
Du musst dir einfach eine Funktion schreiben:
lst<object> myList ... bool mySort (object& lhs, object& rhs) return lhs.value < rhs.value // Oder: return lhs.value > rhs.value
Die kannst du dann so aufrufen:
myList.sort(mySort) // Ohne Klammern!!
-
es gibt 2 sort methoden, eine 'normale' die den op< verwendet und eine, die ein predicate verwendet
-
Vielen Danke!