Y a-t-il une version alternative de Exemple: p> std :: recherche_if code> qui renvoie un itérateur sur tous les éléments trouvés, au lieu de la première?
3 Réponses :
Dans STL Il n'y a pas, mais Boost offre cette fonction de fonctionnalité: p>
La réponse est obsolète, le lien est mort. La réponse correcte est Boost :: filtre_berator
Vous pouvez simplement utiliser un Vous pouvez mettre votre état et action dans un foncteur (effectuer l'action que si la condition est vrai) et il suffit d'utiliser pour code> boucle:
std :: foreach code>. p> p>
Tout d'abord, essayez toujours de trouver une utilisation typique de stl elle-même, vous pouvez également augmenter. Voici une forme plus simplifiée de la réponse susmentionnée par Charles.
J'avais l'habitude de rester silencieux mais apparemment (à la suite d'une discussion), cela dérange également les autres: veuillez n'utiliser pas la balise "Programmation fonctionnelle" simplement parce qu'il existe un pointeur sur une fonction de votre code. Si quelque chose, les balises C ++ aideront les personnes qui peuvent répondre à la recherche de votre question plus rapidement.
Renvoyer l'itérateur à vectorielle / liste / anone de toutes les occurrences, puis à opérer dessus (peut-être appeler la fonction à «tous les résultats») ressemble à une programmation fonctionnelle.
@Yossarian Vous feriez mieux de mettre à jour la page Wikipedia en.wikipedia.org/wiki/funconal_programmer puis . Actuellement, il commence par "fonctions mathématiques" (ce qui signifie pur) et "évite les données de l'état et mutable" (je ne connais pas les itérateurs C ++, mais ils me semblent une bonne illustration de ce qu'est "mutable").