您的位置:首页 > Web前端

boost中circular_buffer存储字符串的使用示例

2017-08-18 23:43 483 查看

#include <boost/circular_buffer.hpp>

using namespace boost;

#define  CIRCUALR_BUFFER_SIZE 1024*1024*1 //2MB

int main()

{

 boost::circular_buffer<char>  cb(5);

 cb.push_back('a');

 cb.push_back('b');

  char ch[20] = {0};

  strcpy(ch,"helloworl2");

  int nSize = strlen(ch);

 

 cb.insert(cb.end(),&ch[0],&ch[nSize]);//使用尾插法

 cout << "begin: " <<*(cb.begin() + 6%cb.size()) <<endl;//使用迭代器不能超出circular_buffer的大小

 cout <<"end: " <<*(cb.end()-1) <<endl; //最后一个元素的位置为end()-1

 std::string str2;

 str2.append(cb.begin(),cb.end()); //将circular_buffer中的数据全部保存到string中

 cout << str2 <<endl;

 return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐