Merci à tous pour vos explications. 

Envoyé par
koala01
(...) A vrai dire, tu pourrais même simplifier encore le code, à partir du moment où tu as la certicude (qu'il te faudra acquérir

) que ta chaine de caractères ne contient que des "0" et des "1". (...)
=> J'ai effectivement cette certitude, la chaîne est crée par un constructeur d'objet. ^^

Envoyé par
koala01
1 2 3
|
for(size_t i = 0;i<route.size();++i) // size_t parce que les indice sont d'office non signés
//route.size(), pour s'assurer que l'on n'essaye pas d'accéder à des caractères qui n'existent pas ;) |
=> Bien vu le "route.size()"


Envoyé par
koala01
// on déclare les données au plus proche de leur utilisation réelle, et, autant que possible, en leur donnant tout de suite la valeur cohérente qui convient

Oui alors du coup je rebondis là dessus :
la déclaration "au plus près" se fait dans ce cas au sein d'une boucle. Je me demande quel est le comportement :
- la variable est redéclarée (un genre de var[i]) et le compilateur gère ça tout seul ? si oui ça peut ponctuellement générer de l'espace mémoire utilisé "pour rien" vu que var[i-1] ne sert plus à rien...
- la variable est détruite à chaque itération lors de l'atteinte de "}" de la boucle et est re-crée lors de l'itération suivante ? Si oui alors c'est du temps de cycle en plus par rapport à une déclaration juste en amont de la boucle...
c'est sans doute métaphysique comme question vu la puissance des machines mais comme je me la pose depuis un bon moment, s'il y a moyen d'avoir une réponse...
Rick.
Partager