Réduire la capacité d'un std::vector
Lorsqu'il s'agit de vecteurs qui sont principalement utilisés pour la lecture après avoir été remplis, il peut être bénéfique de réduire leur capacité.
Actuel Solutions
En règle générale, les développeurs ont recours à la création d'un nouveau vecteur avec une taille spécifiée et à la copie des éléments. Cependant, cette approche introduit une opération de copie inutile.
Solution C 11
Pour les utilisateurs de C 11, la fonction membre Shrink_to_fit() fournit une solution pratique.
vec.shrink_to_fit();
Détails de mise en œuvre
Comme indiqué dans le projet Norme C 11, Shrink_to_fit() est une "demande non contraignante" pour réduire la capacité à la taille. Cette flexibilité permet des optimisations spécifiques à la mise en œuvre. En pratique, la plupart des implémentations tenteront de réduire la capacité à la taille demandée. Cependant, ils conservent la liberté d'optimiser en fonction de facteurs tels que les ressources système ou les exigences futures potentielles.
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!