OK, voici encore une autre question de la "Comment faire mieux en STL?" séries.nombre de correspondances dans deux séquences avec STL
Nous avons deux plages, désignées par first1, last1 et first2. Nous voulons trouver le nombre de différentes années i de [0, last1-Premier1] tel que *(first1 + i) == *(first2 + i)
Par exemple:
{a, b, c, d, d, b, c, a}
{a, a, b, c, d, c, c, a}
^ ^ ^^
Pour ces deux gammes, la réponse est 4.
Y at-il un bon moyen STL de le faire? Je veux dire de préférence sans aucun manuel pour, tandis que etc. Merci!
Je ne pense pas qu'il y ait un bon moyen de le faire sans boucles manuelles. – kennytm
@Kenny: il doit y avoir. Dans d'autres langues, c'est aussi simple que «somme». zipWith (\ x y si x == y puis 1 sinon 0) ' –
@Konrad:' zipWith' de C++ ('transform') nécessite un itérateur de sortie personnalisé. – kennytm