Techniques de sommation des éléments dans un std::vecteur
Trouver la somme des éléments dans un std::vecteur est une opération courante. Voici différentes approches :
C 03
Classic For Loop :
int sum_of_elems = 0; for (std::vector<int>::iterator it = vector.begin(); it != vector.end(); ++it) sum_of_elems += *it;
Standard Algorithme :
#include <numeric> sum_of_elems = std::accumulate(vector.begin(), vector.end(), 0);
C 11 et supérieur
Type automatique Suivi :
#include <numeric> sum_of_elems = std::accumulate(vector.begin(), vector.end(), decltype(vector)::value_type(0));
std::for_each:
std::for_each(vector.begin(), vector.end(), [&] (int n) { sum_of_elems += n; });
Gamme -Basé pour Boucle :
for (auto& n : vector) sum_of_elems += n;
C 17 et plus
std::reduce :
#include <numeric> auto result = std::reduce(v.begin(), v.end());
Cette fonction déduit le type de résultat en fonction du type d'élément du vecteur, permettant la gestion automatique de différents types numériques.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!