Контейнер (программирование): различия между версиями

[отпатрулированная версия][отпатрулированная версия]
Содержимое удалено Содержимое добавлено
Нет описания правки
Нет описания правки
Строка 1:
{{другие значения| Контейнер}}
'''Конте́йнер''' в [[Программирование|программировании]] — [[Структура (программирование)|структура]] ([[Абстрактный тип данных|АТД]]), позволяющая [[инкапсуляция (программирование)|инкапсулировать]] в себясебе [[объект (программирование)|объекты]] разныхлюбого [[тип данных|типов]]типа. СредиЭкземплярами «широкихконтейнеров масс» программистов наиболее известны контейнеры, построенные на основеявляются [[шаблоны проектирования|шаблонов]], однако существуют и реализации в виде библиотекКоллекция (наиболее широко известна библиотека [[GLib]]программирование). Кроме того, применяются и узкоспециализированные решения. Примерами контейнеров являются контейнеры из стандартной библиотеки ([[стандартная библиотека шаблонов|STLколлекции]]) — map, vectorкоторая иуже др.может Всодержать контейнерахобъекты частоодного встречаетсяопределённого реализация алгоритмов для нихтипа. В ряде языков программирования (особенно [[Скриптовый язык|скриптовых]] типа [[Perl]] или [[PHP]]) контейнеры и работа с ними встроена в язык.
 
Например, в языке C++, <code>std::list</code> (шаблонный класс) является контейнером, а его конкретизация ({{lang-en|instantiation}}), как, например, <code><nowiki>std::list<int></nowiki></code> является классом коллекцией.
Контейнер, в отличие от [[коллекция (программирование)|коллекции]], в общем случае, обычно не допускает явного задания числа элементов и обычно не поддерживает ветвистой структуры [http://www.w3.org/TR/rdf-mt/#ReifAndCont]. Впрочем, это сильно зависит от реализации, поскольку многие реализации (особенно ориентированные на долговременное хранение) позволяют задавать размеры при создании контейнера.
 
Среди «широких масс» программистов наиболее известны контейнеры, построенные на основе [[шаблоны проектирования|шаблонов]], однако существуют и реализации в виде библиотек (наиболее широко известна библиотека [[GLib]]). Кроме того, применяются и узкоспециализированные решения. Примерами контейнеров в C++ являются контейнеры из стандартной библиотеки ([[стандартная библиотека шаблонов|STL]]) — map, vector и др. В контейнерах часто встречается реализация алгоритмов для них. В ряде языков программирования (особенно [[Скриптовый язык|скриптовых]] типа [[Perl]] или [[PHP]]) контейнеры и работа с ними встроена в язык.
 
{{prog-stub}}