Re[4]: как задать размер вектора в STL
От: MaximE Великобритания  
Дата: 23.11.04 10:54
Оценка:
_nn_ wrote:

>>> Изменять размер следует через функцию resize.


[]

> ME>Наверное, будет более правильно сказать, что изменять в размер только в большую сторону следует с помощью resize().

>
> Что-то я вас не понял.

resize() для vector<> никогда не освобождает занятую память. Чтобы ее реально освободить нужен трюк:

std::vector<int> v;
assert(v.capacity() == 0);

v.resize(100);
assert(v.capacity() >= 100);

v.resize(0);
assert(v.capacity() >= 100);

std::vector<int>(v).swap(v); // трюк
assert(v.capacity() == 0);


--
Maxim Yegorushkin
Posted via RSDN NNTP Server 1.9 gamma
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.