【问题标题】:Clearing boost::array清除 boost::array
【发布时间】:2011-01-07 14:24:58
【问题描述】:

我正在使用 boost 数组作为我从 boost::asio 的 async_read 获得的内容的缓冲区。

阅读后,我想清除/重置缓冲区以供下次阅读。请告诉我该怎么做。

【问题讨论】:

  • 你想要 std::vector 的 clear() 功能吗?如果不是,您希望数组 clear() 做什么?

标签: c++ arrays boost boost-asio


【解决方案1】:

您不需要清理每个读数,只需使用读取的字节数 buffer(array, bytes_readed)

如果你还想要,你可以使用assign方法 array.assign(0);

【讨论】:

  • 嗯,当前的 g++ 编译器似乎不支持assign 方法:(
  • your_array.assign( the_default_value_of_array_elem );是您可以使用您选择的默认值填充数组的唯一方法。 assign() 这样做: std::fill_n(begin(), N, value) {quoting from boost.org/doc/libs/1_45_0/doc/html/boost/array.html#id426226-bb}
猜你喜欢
  • 2018-09-10
  • 1970-01-01
  • 2018-02-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-12
  • 1970-01-01
相关资源
最近更新 更多