Какой тип структуры данных у QVector, QList, QMap? |
Здравствуйте, гость ( Вход | Регистрация )
Какой тип структуры данных у QVector, QList, QMap? |
AXELman4ever |
22.9.2011, 23:16
Сообщение
#1
|
Студент Группа: Участник Сообщений: 31 Регистрация: 22.9.2011 Пользователь №: 2902 Спасибо сказали: 0 раз(а) Репутация: 0 |
Доброго времени суток. Перечитал множество информации касательно работы этих контейнеров, но так и не нашел ответ на вопрос "Так где же хранится то, что находится в контейнере?" - в стеке или куче?
К примеру, я имею: QVector<int> vect_int; и QVector<QWidget *> vect_widget; вызывая метод push_back() для обеих случаев, что происходит в памяти, что кладется в мой вектор, и где хранится то, что кладется в мой вектор? или другими словами - где вектор хранит ссылки на объекты или же сами объекты? в контейнерах QList и QMap происходит тоже самое? (о том что такое QList, QMap, и о принципах их роботы мне известно) Убедительная просьба - растолковать. Перекопал весь инет - нигде ничего об этом не упоминается. Заранее благодарен. |
|
|
Алексей1153 |
23.9.2011, 9:44
Сообщение
#2
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
BRE, я с ним не работал, если честно ) Ну а в чём его умность ?
|
|
|
BRE |
23.9.2011, 10:23
Сообщение
#3
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
BRE, я с ним не работал, если честно ) Ну а в чём его умность ? Он сам решает, в зависимости от типа данных, как их хранить. Если sizeof типа меньше или равен размеру указателя, то данные хранятся как в обычном std::vector, а если больше или тип не POD, то хранить указатели на данные. Сообщение отредактировал BRE - 23.9.2011, 10:43 |
|
|
Текстовая версия | Сейчас: 23.11.2024, 11:47 |