J'ai un std :: vector que je sais n'aura jamais croître - il aura toujours n
éléments (malheureusement, n
n'est pas connu au moment de la compilation, donc je peux ' t utilise std :: array). Je peux le faire:Empêcher std :: vector de redimensionner sur push_back
std::vector<blah> v(n);
qui définit correctement sa capacité à n
. Mais quand je procède à remplir v
avec push_back
, il redimensionne automatiquement à 2n
. Je réalise que c'est une optimisation prématurée, mais ça m'embête. Y at-il un moyen de définir la taille maximale ou quelque chose?
Pour ce que ça vaut la peine, cela ne se prémunir contre la croissance des capacités si quelqu'un abuse du vecteur et provoque la capacité de doubler. Si vous voulez ce genre de sécurité, vous devez probablement faire rouler votre propre classe. –
Merci. Désolé pour la question stupide! –