A méditer: La solution la plus simple est toujours la moins compliquée
Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
Compiler Gcc sous windows avec MinGW
Coder efficacement en C++ : dans les bacs le 17 février 2014
mon tout nouveau blog
bah non, c'est ce que j'expliquais, je fais ça :
Si je fais un resize, je peux directement écrire tab[i] = sans faire de push_back ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 std::vector<int> tab; for(int i=0;i<MAXSIZE; ++i ) tab.push_back(0);
Lis la doc
La fonction resize() fait potentiellement deux choses :
- augmenter la capacité de std::vector de manière à ce qu'il soit en mesure de contenir le nombre d'éléments indiqué
- rajoute autant d'éléments (construits par défaut) que la différence qui existe entre sa taille de départ et la taille indiquée.
ou, si la taille indiquée est inférieure à la taille de départ,
- supprimer un nombre d'éléments suffisant pour atteindre la taille indiquée (en commençant par les "derniers" éléments du tableau)
!!! lors d'une diminution de taille, la capacité du tableau reste inchangée (tout comme elle le reste suite à l'appel de la fonction erase()). Il n'y a que l'information de taille et le pointeur sur "le dernier élément valide" qui soient mis à jour
A méditer: La solution la plus simple est toujours la moins compliquée
Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
Compiler Gcc sous windows avec MinGW
Coder efficacement en C++ : dans les bacs le 17 février 2014
mon tout nouveau blog
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager