Gibt es eine Möglichkeit, STL-Algorithmen wie find() und find_if() in einem Container von Objekten zu verwenden? Ex.:With find() finden Sie das Element mit Namen "abc" in einem Vektor der Klasse Alfhabitic.STL-Algorithmus in Klasse
2
A
Antwort
7
Sie können ein Vergleichsprädikat (Funktor) definieren. Hier ist eine generische Implementierung:
struct AlphabeticNameComp
{
AlphabeticNameComp(const std::string& toCompare)
: toCompare_(toCompare) { }
bool operator()(const Alphabetic& obj) const
{
return toCompare_ == obj.name();
}
private:
const std::string toCompare_;
};
In einem Vektor in alphabetischer Reihenfolge Elemente
std::vector< Alphabetic> vect;
Sie eine Suche ausführen können wie:
std::find_if(vect.begin(), vect.end(), AlphabeticNameComp("abc"));
1
Sie ein operator==()
für die Klasse definieren Alfhabetic
die passt nur das Datenelement abc
etwas wie folgt aus:
bool operator==(const Alfhabetic& a, const Alfhabetic& b)
{
return (a.abc == b.abc);
}
und dann mit abc
als den gewünschten Wert ein Alfhabetic
Instanz initialisiert zu finden.
Verwandte Themen
- 1. zerstört Klasse in anderer Klasse
- 2. Klasse in Hover-Klasse ändern
- 3. Implementierende Klasse in existierende Klasse
- 4. Innere Klasse in Schnittstelle vs in Klasse
- 5. Java-Klasse in Objective-C-Klasse
- 6. in Java Klasse zu Klasse Funktion Datenübertragung
- 7. Holen Inhalt in Klasse nach anderen Klasse
- 8. Methoden definieren Klasse in Active Record-Klasse
- 9. Understanding "public"/"private" in Klasse Klasse
- 10. NHibernate - Umwandlung in Klasse innerhalb einer Klasse?
- 11. Wie klasse Klasse in Option von Multiselect?
- 12. Klasse innerhalb einer anderen Klasse in C#
- 13. Instanz generische Klasse in anderer Klasse
- 14. Python 2.6: Klasse in einer Klasse?
- 15. ändern img, dass in der Klasse in Klasse in ID
- 16. Klasse in Klasse in Python, wie Informationen zu teilen
- 17. Template-Klasse in Template-Klasse verschachtelt geben Fehler in MSVC++
- 18. C++ - Klasse in C++ DLL in C# Windows Forms Klasse
- 19. Warum Selbst-Klasse Klasse
- 20. Monitor-Klasse in Java
- 21. Benutzer in Form-Klasse
- 22. Singleton-Klasse in Kaffeeskript
- 23. Statische Klasse in Typoskript
- 24. Dekoratoren und in Klasse
- 25. getApplicationContext in AsyncTask-Klasse?
- 26. Klasse Stichwort in Javascript
- 27. Umfang in ng-Klasse
- 28. Kollision in der Klasse
- 29. Integer-Klasse in Javascript
- 30. MasterPage .FindControl in Klasse