[#] Динамический неоднородный плотно упакованный контейнер
habrabot(difrex,1) — All
2016-06-02 15:00:03


**Определение 1**. _Однородный_ контейнер – это такой контейнер, в котором хранятся объекты строго одного типа.



**Определение 2**. _Неоднородный_ контейнер — это такой контейнер, в котором могут храниться объекты разного типа.



**Определение 3**. _Статический_ контейнер — это контейнер, состав которого полностью определяется на этапе компиляции.


> Под _составом_ в данном случае понимается количество элементов и их типы, но не сами значения этих элементов. Действительно, бывают контейнеры, у которых даже значения элементов определяются на этапе компиляции, но в данной модели такие контейнеры не рассматриваются.

**Определение 4**. _Динамический_ контейнер — это контейнер, состав которого частично или полностью определяется на этапе выполнения.



По такой классификации, очевидно, существуют четыре вида контейнеров:


1. Статические однородные
**Сможете придумать пример?**
Обычный массив — `int[n]`.

2. Статические неоднородные
**Примеры?**
Наиболее яркий пример такого контейнера — это кортеж. В языке C++ он реализуется классом `std::tuple`.

3. Динамические однородные
**Догадались?**
Правильно, `std::vector`.

4. Динамические неоднородные
Вот об этом виде контейнеров и пойдёт речь в данной статье.
[Читать дальше →][1]

[1]: https://habrahabr.ru/post/302372/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut