Ich möchte wissen, wie ich die Indexpositionen von Elementen finden können, die eine bestimmte Bedingung (z. B. größer als) überprüfen. Zum Beispiel, wenn ich ein Vektor von int haben WerteErhalten Sie alle Positionen von Elementen in STL-Vektor, die größer als ein Wert sind
vector<int> V;
V die Werte 3 2 5 8 2 1 10 4 7
enthält, und ich möchte alle Indexpositionen von Elementen erhalten, die größer sind als 5. Ich weiß std::find_if
aber Laut der Dokumentation findet es nur das erste Element, das eine Bedingung erfüllt.
Sie können 'std :: find_if' in einer Schleife, Speicherpositionen wie Sie gehen. – chris
verwenden Sie es wiederholt, beginnend nicht von Anfang an, sondern von wo Sie gerade gefunden haben. –
@oldrinb Eigentlich muss ich die Positionen holen, denn dann muss ich Elemente von einem anderen Vektor an den gleichen Positionen holen. – saloua