Maison >développement back-end >C++ >Comment éviter les erreurs d'indice hors de portée lors de la création d'une matrice 2D à l'aide de vecteurs de vecteurs ?
Vecteur de vecteurs pour la création de matrice : surmonter les erreurs d'indice hors de portée
Lorsque vous essayez de créer une matrice 2D à l'aide de vecteurs de vecteurs, il est Il est crucial d'initialiser correctement la structure de données pour éviter les erreurs d'indice hors de portée. Ce problème se produit lorsque vous essayez d'accéder aux éléments d'un vecteur sans allouer au préalable la mémoire nécessaire.
Résolution du problème
Pour résoudre ce problème, vous devez initialiser le vecteur de vecteurs à la taille appropriée avant d’accéder à des éléments. Ceci peut être réalisé en utilisant le code suivant :
<code class="cpp">vector<vector<int>> matrix(RR, vector<int>(CC));</code>
Ce code crée un vecteur de taille RR initialisé avec des vecteurs CC, chacun rempli de 0. Vous pouvez désormais accéder en toute sécurité aux éléments du vecteur matriciel en utilisant ce qui suit syntaxe :
<code class="cpp">matrix[i][j] = user_input;</code>
Exemple d'utilisation
Considérez l'exemple de code que vous avez fourni :
<code class="cpp">for(int i = 0; i < RR; i++) { for(int j = 0; j < CC; j++) { cout << "Enter the number for Matrix 1"; cin >> matrix[i][j]; } }</code>
En initialisant la matrice à l'aide de la méthode décrite ci-dessus, vous pouvez maintenant remplir la matrice en toute sécurité avec les entrées de l'utilisateur à l'aide de la boucle. L'erreur d'indice hors plage ne se produira plus car vous avez alloué la mémoire nécessaire pour la matrice.
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!