boost库中的 circular_buffer顾名思义是一个循环缓冲器,其 capcity是固定的当容量满了以后,插入一个元素时,会在容器的开头或结尾处删除一个元素。
使用需要包含头文件:
#include<boost/circular_buffer.hpp>
示例:
#include<iostream>
using namespace std;
//包含头文件
#include<boost/circular_buffer.hpp>
using boost::circular_buffer;
int main()
{
//环形缓存(特别像队列)
circular_buffer<int> cb(4);//容量为4
cb.push_back(1);
cb.push_back(2);
cb.push_back(3);
cb.push_back(4);
for (auto node :cb)
{
cout << node << " ";
}
cout << endl;
//容量已满,尾部插入,踢出头部元素
cb.push_back(5);
for (auto node : cb)
{
cout << node << " ";
}
cout << endl;
//容量已满,头部插入,踢出尾部元素
cb.push_front(6);
for (auto node : cb)
{
cout << node << " ";
}
cout << endl;
system("pause");
return 0;
}
结果:

文章展示了如何使用Boost库中的circular_buffer,一个固定容量的循环缓冲器。当缓冲器满时,插入新元素会自动删除头部或尾部的元素,行为类似于队列。示例代码包括创建、填充和操作circular_buffer的过程。
5156

被折叠的 条评论
为什么被折叠?



