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