我遇到了将数据从一个向量复制到另一个向量的问题。 为了更好地理解我的问题,想象一下我有一个vectorA和一个vectorB,相同的数据类型。 矢量A里面什么都没有,有5个大小。
我想把vectorB的前5个字节放到vectorA中,但我不知道怎么做。 基本上,这样的事情:
vectorA.insert(vectorB.begin(),5,vectorB(5));
那不起作用,但我怎么能做那样的事呢? 我应该在数组中转动向量吗?我真的不知道该做什么,因为我刚开始使用矢量,所以一个帮助/解决方案会很棒。
无论如何,谢谢!
答案 0 :(得分:2)
您可以使用a
的数据填充b
,如下所示:
std::vector<char> a,b;
// fill up b
a.insert(a.begin(),b.begin(),b.end());
// or if only wanting a certain number of bytes:
size_t bytes = 5;
a.insert(a.begin(),b.begin(),b.begin() + 5);
如果您使用第二种方法,请务必确保b
有足够的数据要插入。您可以使用条件或类似方式进行检查:
a.insert(a.begin(),b.begin(),b.begin() + std::min(b.size(), 5));
参见std::insert
的第四个原型。
答案 1 :(得分:0)
您只需使用jackson-core
for loop