There is a topic already on this topic but I have doubts still. To calculate the size of a vector, which one is correct:
sizeof(VEC) + sizeof(int) * VEC.capacity()
or
VEC.capacity() * (sizeof(VEC) + sizeof(int))
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
What do you mean by size of the vector? The size of the vector object is just
If you are interested in how much memory the vector has allocated on the heap, you can use
So, if you add these, you’ll get how much memory you’ve “lost” because of the vector.
Please note that exactly how much memory is allocated is implementation-dependent. It’s just that the formula above will be practically correct (or approximately correct) on most if not all implementations.