Comprendre la syntaxe for basée sur une plage en C 11
Les boucles for basées sur une plage en C 11 fournissent une syntaxe simplifiée pour itérer sur les conteneurs. La syntaxe varie selon que vous comptez observer ou modifier les éléments du conteneur.
Pour observer les éléments
Pour observer les éléments sans les modifier, la syntaxe recommandée est :
for (const auto& elem : container)
Cette syntaxe capture les éléments par référence const, évitant ainsi les copies inutiles dans les cas où les objets coûtent cher à copier.
Pour modifier des éléments
Si vous devez modifier des éléments en place, la syntaxe est :
for (auto& elem : container)
Cette syntaxe capture les éléments par référence non const, permettant de les modifier dans le corps de la boucle.
Cas particulier : Proxy Itérateurs
Cependant, pour les conteneurs qui utilisent des itérateurs proxy (tels que std::vector
for (auto&& elem : container)
Cette syntaxe utilise le modificateur de type "&&" pour fonctionner correctement avec le proxy itérateurs.
Résumé
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!