Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Chapter 8. Boost.Circular Buffer

Boost , The Boost C++ Libraries BoostBook Documentation Subset , Part I. The Boost C++ Libraries (BoostBook Subset)

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Chapter 8. Boost.Circular Buffer

Jan Gaspar

Распространяется под лицензией Boost Software License, версия 1.0. (См. сопроводительный файл LICENSE_1_0.txt или копию по адресуhttp://www.boost.org/LICENSE_1_0.txt)

[Note] Note

Также доступна удобная для принтера PDF-версия этого руководства.

Круговой буфер.

Description

Терминкруговой буфер(также называемыйкольцомилициклическим буфером) относится к области памяти, которая используется для хранения входящих данных. Когда буфер заполнен, новые данные записываются, начиная с начала буфера и перезаписывая старые.

<boost::circular_buffer>является контейнером, совместимым с STL.

Это своего рода последовательность, подобнаяstd::listилиstd::deque. Он поддерживает итераторы случайного доступа, вставку постоянного времени и стирание операций в начале или конце буфера и взаимодействие с алгоритмами std.

<circular_buffer>специально разработан для обеспеченияфиксированной емкостихранения. Когда его емкость исчерпана, вновь вставленные элементы заставляют элементы перезаписываться либо в начале, либо в конце буфера (в зависимости от того, какая операция вставки используется).

<circular_buffer>выделяет память только при создании, когда емкость регулируется явно или по мере необходимости для размещения операций изменения размера или назначения.

Существует также версия<circular_buffer_space_optimized>.

<circular_buffer_space_optimized>является адаптацией<circular_buffer>, котораяне выделяет память сразу при создании, вместо этого она выделяет память по мере необходимости.

Распределение прогностической памяти аналогично типичной реализации<std::vector>. Память автоматически освобождается по мере уменьшения размера контейнера.

Процесс распределения памяти пространственно-оптимизированного кругового буфера.<min_capacity>контроллера емкости представляет собой минимальное гарантированное количество выделенной памяти. Выделенная память никогда не упадет ниже этого значения. По умолчанию значение<min_capacity>устанавливается в 0.<min_capacity>может быть установлено с использованием параметра конструктора<() capacity_control>или функции<set_capacity>.

Оптимизированная версия, конечно, немного медленнее.

Последний пересмотр: 21 сентября 2016 года в 14:37:13 GMT


PrevUpHomeNext

Статья Chapter 8. Boost.Circular Buffer раздела The Boost C++ Libraries BoostBook Documentation Subset Part I. The Boost C++ Libraries (BoostBook Subset) может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Part I. The Boost C++ Libraries (BoostBook Subset) ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 17:41:31/0.0066440105438232/0