Trimming a Vector

Trimming a Vector

Suppose you create a vector and fill it with elements:

 vector  MyVector;MyVector.reserve(20);for (int i=0 ; i

Afterwards, you check the vector's size and capacity and notice that the capacity is 20 but the size (i.e., the number of existing elements) is smaller, say 15. How can you trim the capacity of the vector to match its actual size? There's no function to trim the capacity, but you can copy it to a temporary vector and swap, with something like:

 vector < X > tmp(MyVector);MyVector.swap(tmp);

The vector temp has the same number of elements that MyVector has. By sapping it with the original vector MyVector, the capacity of MyVector changes accordingly. Consequently, MyVector's capacity matches its size and there are no unused slots of memory.


About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist