La question portait sur l'allocation dynamique d'un std::vector<T> et la manipulation de pointeurs sur std::vector<T> ensuite, et dans ton exemple tu parles d'un tableau T[], ce n'est pas le meme besoin.
Maintenant, pour l'occupation memoire, le tableau de base, c'est au moins un pointeur, mais tu as aussi besoin de sa capacité (taille allouée), et du nombre d'éléménts présents (taille utilisée). Au final, c'est la même empreinte mémoire, sauf si la capacité et la longueur sont fixes. Mais dans ce cas, pourquoi ne pas utiliser std::array<T> ?
Bref, ca ne sert a rien d'allouer dynamiquement un std::vector<T>.
[^] # Re: works for me
Posté par shbrol . En réponse à la dépêche Naissance d'un géant : Java. Évalué à 1.
La question portait sur l'allocation dynamique d'un
std::vector<T>et la manipulation de pointeurs surstd::vector<T>ensuite, et dans ton exemple tu parles d'un tableauT[], ce n'est pas le meme besoin.Maintenant, pour l'occupation memoire, le tableau de base, c'est au moins un pointeur, mais tu as aussi besoin de sa capacité (taille allouée), et du nombre d'éléménts présents (taille utilisée). Au final, c'est la même empreinte mémoire, sauf si la capacité et la longueur sont fixes. Mais dans ce cas, pourquoi ne pas utiliser
std::array<T>?Bref, ca ne sert a rien d'allouer dynamiquement un
std::vector<T>.