21 Aug
2013
21 Aug
'13
11:43 a.m.
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?
Yes, if sizeof(int)>sizeof(char) on your platform, then vector<int> consumes more memory than vector<char>, because the Standard requires that "the elements of a vector are stored contiguously, meaning that if v is a vector where T is some type other than bool, then it obeys the identity &v[n] == &v[0] + n for all 0 <= n < v.size()."
or which is more efficient?
What do you mean by saying "more efficient"? vector<char> consumes less memory, but accessing its elements might be less efficient on some platforms.