Non-дубликатами:C++ фиксированного размера связанного списка
- Which STL C++ container to use for a fixed size list? (Specific вариант использования)
- std::list fixed size (см ниже)
Мотивы:
Распределение происходит один раз (в конструкторе), а освобождение происходит один раз (в деструкторе).
O (1) Вставка и удаление элемента в любом месте в списке без необходимости использования служебных данных управления памятью. Это невозможно при реализации на основе массива.
Есть ли простой подход для реализации этого с использованием стандартной библиотеки? Есть ли что-то подобное в Boost?
Вы можете уточнить? Что вы подразумеваете под распределением, происходит один раз, и это освобождение происходит только один раз? Что конкретно вы пытаетесь сделать? – templatetypedef
Это не для серьезного проекта. При необходимости выделять и освобождать память всякий раз, когда мы вставляем или удаляем элементы, добавляются некоторые накладные расходы, которых можно было бы избежать, когда мы знаем верхнюю границу количества элементов, которые мы хотим сохранить в списке. Мне просто интересно, существуют ли существующие версии списка, который выделяет память спереди и не отпускал ее до конца жизни. – Yktula
Проверить boost :: intrusive :: list и boost :: intrusive :: slist. Управление памятью выполняется автоматически. – refi64