1

私はlistこのようなものを得ました:

list<float> l;

そして、 には 10 個の要素があることを知っていlます。最初の 7 つの要素を から取り出しlて に割り当てたいので、次vectorのようにしようとしました。

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

上記のコードはコンパイルできませんが、後でわかったのですが、ランダムアクセスlistサポートしていないため、算術演算をサポートしていませんか?vectorlist::iterator

もしそうなら、どうすれば上記の仕事を終えることができますか?

4

1 に答える 1

4

copy_n を使用:

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