Wie filtert oder "grep" ein C ++ Vektor?

8

Ich habe ein vector<MyType> und möchte ein weiteres vector<MyType> , das nur solche MyTypes enthält, die einige einfache Kriterien erfüllen, z. dass ein Datenelement gleich ist. Was ist der beste Weg, um das zu lösen?

    
Andreas 22.05.2012, 22:28
quelle

2 Antworten

17

Verwenden Sie copy_if :

%Vor%     
Kerrek SB 22.05.2012, 22:31
quelle
7

Mit ein wenig Boost können Sie:

%Vor%

Dieses Beispiel verwendet Phoenix für implizite lambdas, die durch die Ausdrucksvorlage ( _arg1 >= 0 ) definiert sind, aber Sie können alle aufrufbaren (C ++ 03 oder höher) mit Boost-Adaptern (fitlered, transformed, reversed usw.) verwenden

Hier finden Sie weitere Beispiele und ein vollständiges Beispiel:

sehe 22.05.2012 22:31
quelle

Tags und Links