std::basic_string<CharT,Traits,Allocator>::capacity
Depuis fr.cppreference.net
size_type capacity() const;
|
(noexcept depuis C++11) (constexpr depuis C++20) |
|
Retourne le nombre de caractères pour lesquels la chaîne a actuellement de l'espace alloué.
Paramètres
(aucun)
Valeur de retour
Capacité du stockage actuellement alloué, c'est-à-dire l'espace disponible pour stocker les éléments.
Complexité
Constante.
Notes
Les emplacements mémoire obtenus de l'allocateur mais non disponibles pour stocker un élément quelconque ne sont pas comptabilisés dans le stockage alloué. Notez que le terminateur nul n'est pas un élément du std::basic_string .
Exemple
Exécuter ce code
#include <iomanip> #include <iostream> #include <string> void show_capacity(std::string const& s) { std::cout << std::quoted(s) << " has capacity " << s.capacity() << ".\n"; } int main() { std::string s{"Exemplar"}; show_capacity(s); s += " is an example string."; show_capacity(s); s.clear(); show_capacity(s); std::cout << "\nDemonstrate the capacity's growth policy." "\nSize: Capacity: Ratio:\n" << std::left; std::string g; auto old_cap{g.capacity()}; for (int mark{}; mark != 5; ++mark) { while (old_cap == g.capacity()) g.push_back('.'); std::cout << std::setw( 7) << g.size() << std::setw(11) << g.capacity() << std::setw(10) << g.capacity() / static_cast<float>(old_cap) << '\n'; old_cap = g.capacity(); } }
Sortie possible :
"Exemplar" has capacity 15. "Exemplar is an example string." has capacity 30. "" has capacity 30. Demonstrate the capacity's growth policy. Size: Capacity: Ratio: 16 30 2 31 60 2 61 120 2 121 240 2 241 480 2
Voir aussi
|
retourne le nombre de caractères
(fonction membre publique) |
|
|
réserve du stockage
(fonction membre publique) |