2013-11-18 5 views
1

Я новичок в C++, и я работаю над университетским проектом Driver Book на C++. Я использую вектор в первый раз, и я хотел бы заставить его работать с динамическим распределением памяти.C++ Динамически выделяется std :: vector

Я вектор объявлен как это:

vector <item> book; 

Что нужно, чтобы заставить его работать с динамическим распределением памяти?

Заранее спасибо.

+1

Просьба уточнить, * заставить его работать с динамическим распределением памяти *! В каком отношении декларируется 'vector book' недостаточно для ваших нужд? – Oswald

+0

Вектор использует динамическое распределение внутри, не нужно очень сильно использовать динамическое размещение на любых стандартных библиотечных контейнерах. – andre

+0

вектор действительно работает с динамическим распределением, всегда. Вам не нужно ничего делать, чтобы это сделать. Наверное, на самом деле ваш вопрос: «Как использовать вектор?» – john

ответ

5

Выполнено. vector уже внутренне динамически выделяет, когда вы в этом push_back.

2

Вектор использует динамическое распределение памяти внутри. Так что все, что вам нужно сделать, это положить элементы в нем:

item i = ....; 
book.push_back(i); 

См this reference для большего количества вещей, которые вы можете сделать с вектором.

4

Чтобы добавить немного больше: vector<T> - это изменяемый размер массива, который может содержать объекты типа T. Внутренняя память динамически. Теперь, если вы хотите создать вектор с динамическим распределением, вы всегда можете использовать vector<item>* myVec = new vector<item>(); Хотя обычно вам не нужно создавать динамическое размещение vector.

Смежные вопросы