Articles

Index de tableau hors limites – Forum C++

les vecteurs ont beaucoup de bonnes choses pour eux.
Mais les tableaux c++, s’ils utilisent une compilation forcée standard, DOIVENT avoir une taille connue au moment de la compilation (ne peut pas être une variable, seulement une valeur connue au moment de la compilation comme enum, const int, nombre littéral, etc.) Vous devez toujours connaître la taille de votre tableau et ne jamais manquer de limites à cause de cela. Ainsi, alors que vous devriez privilégier les vecteurs en général, vous hériterez parfois du code contenant des tableaux, ou devrez traiter un fichier C dans votre compilation, ou similaire, vous devez donc connaître les bases. Généralement, la taille est une énumération ou une const quelque part avec un nom que vous pouvez utiliser lors de la boucle pour le garder en sécurité. Si vous utilisez des tableaux pour une raison quelconque, utilisez cette idée et vous éviterez la plupart des problèmes hors limites. Les autres problèmes peuvent également survenir sur les vecteurs – ceux où vous avez calculé l’index et l’avez gaffé, mais les vecteurs vous donnent les outils pour vérifier cela alors que les tableaux ont moins d’options pour gérer les bogues.
c++ est un langage de haute performance. Il ne fait PAS de travail inutile dans les coulisses en général, vous devez le faire si vous le souhaitez. Donc, si vous voulez vérifier les limites, vous avez besoin de code pour le faire. vous pouvez également sortir des limites sur un vecteur, soit dit en passant.
vecteur <int >duh={1,2,3};
cout << duh; // hors limites. crash, très probablement.
ce n’est pas que le vecteur vérifie les limites ou « plus sûr » lorsque vous gâchez. C’est qu’il a sa propre variable de taille gérée, donc déconner devrait être plus difficile, si vous écrivez votre code avec soin.