Comment faire std::vector à partir d'un autre vecteur avec filtre spécifique?
J'ai un std::vector
rempli avec des objets. Je veux filtre et de copier tous les éléments pour lesquels un certain prédicat retourne true
à un nouveau std::vector
.
J'ai regardé find
et search
fonctions, mais ils ne retournent des itérateurs.
Je suis en utilisant ObjC++ si je peux utiliser le bloc de fonctions ainsi que les foncteurs, si cela aide. Ne pouvez pas utiliser le C++11 fonctions.
OriginalL'auteur Protheus | 2012-06-14
Vous devez vous connecter pour publier un commentaire.
Si vous avez le C++11, puis utiliser
std::copy_if
comme suggéré dans Eugen réponse. Sinon, vous pouvez utiliser std::remove_copy_if avec les modifications appropriées à votre prédicat logique.copy_if
.OriginalL'auteur juanchopanza
vous pouvez utiliser les std::copy_if méthode. Voir ici.
OriginalL'auteur Eugen