1

我有一个list这样的:

list<float> l;

而且我知道 中有 10 个元素l,我想从中获取前 7 个元素l并将它们分配给 a vector,所以我尝试这样做:

vector<float> v(l.begin(), l.begin()+7);

上面的代码不能编译,后来发现,list不支持随机访问,而支持vector,所以list::iterator不支持算术运算?

如果是这样,我怎样才能完成上述工作?

4

1 回答 1

4

使用 copy_n:

v.resize(7);
copy_n(l.begin(), 7, v.begin());
于 2012-02-08T08:09:29.733 回答