Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.11.2011, 16:04   #1
haruhi
Форумчанин
 
Аватар для haruhi
 
Регистрация: 05.10.2011
Сообщений: 368
По умолчанию Класс vector и сложносоставные массивы. вопрос к спецам в STL

допустим есть структура

Код:
typedef struct _mystruct {
    char anydata[20];
    std::vector<type1> array1;
    std::vector<type2> array2;
} MyStruct, *PMyStruct;
количество элементов в array1 и array2 может быть произвольным

и есть массив составленный из этих структур
Код:
std::vector<MyStruct> MainArray;
Вопрос: позаботится ли MainArray о вызове конструкторов и деструкторов array1 и array2 в каждом элементе массива, каждый из них тоже занимает память и её тоже надо освободить. больше интерисуют деструкторы, будут ли они вызваны при MainArray.clear()?
Не стоит будить спящего Бога! (с) Меланхолия Харухи Судзумии

Последний раз редактировалось haruhi; 19.11.2011 в 16:07.
haruhi вне форума Ответить с цитированием
Старый 19.11.2011, 16:32   #2
Сыроежка
Форумчанин
 
Регистрация: 01.07.2011
Сообщений: 423
По умолчанию

Во-первых, надо использовать правильные термины. У вас нет массива структур, а есть вектор сттруктур.
При вызове метода erase() будет вызываться деструктор структуры, который в свою очередь вызовет деструкторы всех своих членов, которые имеют тип класса. То есть память будет освобождена и для членов структуры, которые явяются векторами.
Со мной можно встретиться на www.clipper.borda.ru
Сыроежка вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Класс Vector, .... Lucky777 Помощь студентам 5 05.06.2011 02:13
STL: vector, инициализация Сtrl Общие вопросы C/C++ 3 07.05.2011 19:41
класс Vector fclmhooligan Общие вопросы по Java, Java SE, Kotlin 3 05.04.2011 02:40
STL, vector. Добавление элементов daunito Общие вопросы C/C++ 8 11.02.2011 15:43
Вопрос к спецам!!! designed Microsoft Office Excel 1 22.12.2010 06:12