![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Chapter 8. Boost.Circular BufferBoost , The Boost C++ Libraries BoostBook Documentation Subset , Part I. The Boost C++ Libraries (BoostBook Subset)
|
![]() |
Note |
---|---|
Также доступна удобная для принтера PDF-версия этого руководства. |
Круговой буфер.
Терминкруговой буфер(также называемыйкольцомилициклическим буфером) относится к области памяти, которая используется для хранения входящих данных. Когда буфер заполнен, новые данные записываются, начиная с начала буфера и перезаписывая старые.
<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 |
Статья 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) ::
реклама |