In the C++ Standard Library, std::string has a public member function capacity() which returns the size of the internal allocated storage, a value greater than or equal to the number of characters in the string (according to here). What can this value be used for? Does it have something to do with custom allocators?
In the C++ Standard Library, std::string has a public member function capacity() which returns
Share
You are more likely to use the
reserve()member function, which sets the capacity to at least the supplied value.The
capacity()member function itself might be used to avoid allocating memory. For instance, you could recycle used strings through a pool, and put each one in a different size bucket based on its capacity. A client of the pool could then ask for a string that already has some minimum capacity.