Boost logo

Boost Users :

Subject: Re: [Boost-users] memory used by vector<int> vs vector<char>
From: Richard Damon (Richard_at_[hidden])
Date: 2013-08-21 07:50:27


On 8/21/13 7:33 AM, Lloyd wrote:
> Hi,
>
> If I create a vector<int> of 100 elements and a vector<char> of 100
> elements, will there be any difference in the total memory used by
> them? or which is more efficient?
>
> Thanks,
> Lloyd
>
>
Since on most machines, an int is bigger than a char, the vector<int>
will allocate more memory than a vector<char>.

Note that the memory for the elements will NOT show up in the sizeof()
the vector, as the vector object itself doesn't hold the elements, but
just a control block, the elements are normally stored on the heap.

As to efficiency, if you are only storing chars, than the vector<char>
is probably more efficient, if you are actually storing something bigger
(like an int), than a vector<char> is probably the wrong thing to be
using in the first place.

-- 
Richard Damon


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net