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;
}
结果: