Certes, un a = vecteur[i] n'est pas vérifié. Mais en C++ est ajouté la possibilité d'écrire :
for (int valeur : vecteur) [...]
Ce qui évite des dépassements dès le codage. Je pense qu'il est préférable de proposer des idiomes qui incite à éviter lors du codage les dépassements que reposer sur la vérification run-time.
Mais il est vrai que STL ne vérifie pas toujours les bornes... cela y est presque (vecteur.at(i) vérifie mais pas vecteur[i] dommage).
Il aurait peut-être été préférable d'avoir un vecteur[i] qui vérifie et vecteur.unsafe_at(i) qui ne vérifie pas. De quoi préférer Boost ou Qt.
Partager