16:49

Вопрос

Возник 1 странный вопрос : чем отличается структура данных от контейнера ?
Просто в книге читаю : " термин структуры данных говорит о том,как хранится информация в памяти компьютера ;
через страницу написано : "Контейнер - это способ организации хранения данных "
Получается , что это одно и тоже ?
Заранее спасибо.

@темы: C++

Комментарии
28.05.2011 в 17:38

Life is a life... We are the humans...
Контейнеры здесь вроде обозначают контейнеры STL, которые могут быть vector, list, deque, map, multimap, set, multiset, stack, queue, priority_queue, bitset, basic_string и valarray, которые по сути являются классами с шаблоном... а class от struct отличается тем, что в struct поля по умолчанию public, а в class - private... а вообще вопрос не совсем корректен)
28.05.2011 в 18:19

а,значит контейнер это класс шаблонный , ясно
"а class от struct отличается тем, что в struct поля по умолчанию public, а в class - private" - ну это я знаю)
28.05.2011 в 19:04

Life is a life... We are the humans...
тут зависит от того что автор книги понимает под словом контейнер)) но вообще контейнер это обычно stl
28.05.2011 в 19:15

Пау-чок
Как я понял, в случае со структурой имелось в виду вот что. Есть в памяти кусок данных по адресу A. Если он не структурирован - то это может быть просто какой-то мусор. А если мы точно знаем, что по адресу A у нас хранится некая структура {float X,Y,Radius}, то мы знаем и, например, что первые 4 байта - это, например, координата X, вторые 4 байта - это координата Y, а ещё 4 байта нам дают радиус. И что все эти числа - это не int32, а float.

А контейнер - это уже реализация некоего функционала для хранения данных. Например, для однонаправленного списка таковой функционал будет включать в себя функции для добавления/удаления/подсчёта количества элементов и т.п. Без этого функционала контейнер бесполезен.
01.06.2011 в 20:00

Вектор и список тоже могут называть структурами данных, как и деревья.