Есть класс
CItem
;
Есть типы:
typedef std::vector <CItem> ItemVector;
typedef std::vector <CItem>::iterator Iter;
Есть вектор и итератор:
ItemVector ItemContainer;
Iter v1_Iter;
Есть функция:
CItem* Func()
{
for(int i=0;i<10;i++)
{
CItem* current_item = new CItem();
// не буду вдаваться в подробности, здесь
// создается связанный список
ItemContainer.push_back(*current);
}
}
Значит ли это, что после того как я запихиваю созданный динамически элемент методом push_back в вектор, после завершения работы функции у меня две одинаковые копии данных в памяти? Надо ли удалять сами элементы, или вектор — и мои указатели — это одни и те-же участки памяти?
Все имена функций и классов изменены, любое совпадение является случайным.