Maison > Article > développement back-end > Comment puis-je réduire efficacement la capacité d'un std::vector en C ?
Réduire la capacité d'un std::vector
Lorsque vous travaillez avec des vecteurs, il est souvent utile de réduire leur capacité une fois qu'ils ont atteint une taille stable. Cela peut libérer de la mémoire et améliorer les performances pour les opérations de lecture ultérieures.
Énoncé du problème :
Existe-t-il un moyen de réduire la capacité d'un vecteur, en excluant les opérations de copie inutiles et des solutions non portables ?
Solution :
Oui, avec C 11, vous pouvez utiliser la fonction membre Shrink_to_fit() :
std::vector<int> myVector; myVector.shrink_to_fit();
La fonction Shrink_to_fit() réduit la capacité du vecteur à correspondre à sa taille actuelle. Selon le projet de norme C 11 :
shrink_to_fit is a non-binding request to reduce capacity() to size().
Cette demande est sans engagement pour permettre des optimisations spécifiques à l'implémentation. En pratique, cela signifie qu'appeler Shrink_to_fit() ne garantit pas que la capacité sera réduite. Cependant, c'est un outil utile pour réduire l'allocation de mémoire et améliorer les performances des opérations de lecture.
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!