2

让我们以一个无符号整数为例。所以,我想向 an 添加一个无符号整数,以便std::vector<char>向量的下四个字节将由 uint 的四个字节填充。

现在,我想在这里使用 Sharptooth 的答案,但我有两个问题:

  1. 如何使用此方法从向量的第一个空闲位置开始插入 uint -end迭代器指向的位置。
  2. 我想知道在使用不是向量函数end的向量复制到向量时迭代器是否递增。memcpy

如果 2 的答案是否定的,您会推荐哪种方法作为完成此任务的最佳方法。提到的链接中的其他答案是指添加到向量的开头。

该问题也涉及其他 POD。

4

2 回答 2

2

1,2

std::copy(begin_binary(num), end_binary(num), std::back_inserter(my_vector));

STL 在插入新元素时自动管理矢量大小。

于 2013-05-27T12:32:08.883 回答
2

调整您链接的答案:

myVector.insert(myVector.end(), begin_binary(num), end_binary(num));

begin 和 end 函数只是转换要插入的值。这样做确实会增加向量的大小(及其容量,如有必要)。

于 2013-05-27T12:31:04.523 回答