ия. 1. Программист заранее выд

Автор admin Воскресенье, 7 июня 2009 11:32

ия. 1. Программист заранее выделяет нужный объем памяти функцией reserve(), чтобы предотвратить дальнейшие перераспределения памяти. 2. Все операции добавления и удаления элементов выполняются только в конце вектора. Вообще говоря, вы можете вставлять и уничтожать элементы в середине вектора. Но следующая программа показывает, почему этого делать не стоит: //: С07:VectorInsertAndErase.срр {-bor} // Уничтожение элемента вектора Основные последовательные контейнеры 357 //{L} Noisy #include #include #i nclude #i nclude #include “Noisy.h” using namespace std; int mainO { vector v; v.reserve(ll): cout « “11 spaces have been reserved” « endl; generate_n(back_inserter(v). 10, NoisyGenO); ostream_iterator out(cout. ” “); cout « endl; copy(v.beginO. v.endO, out): cout « “Inserting an element:” « endl: vector:iterator it = v.beginO + v.sizeO / 2; // Middle v.insertdt. NoisyO); cout « endl: copy(v.beginO, v.endO. out); cout « “\nErasing an element:” « endl: // Старое значение it использовать нельзя: it = v.beginO + v.sizeO / 2; v.erase(it); cout « en


Комментарии закрыты.