コピーが十分
ある場合は、forward_segment
を初期化している場合、それはそう
vector<T> forward_segment(backward_segment.crbegin(), backward_segment.crend());
と同じくらい簡単です:あなたは、実際の要素に
使用を移動する必要がある場合
forward_segment.resize(backward_segment.size());
copy(backward_segment.crbegin(), backward_segment.crend(), forward_segment.begin());
初期化:そう
vector<T> forward_segment(
make_move_iterator(backward_segment.rbegin()),
make_move_iterator(backward_segment.rend())
);
:
は
forward_segment.resize(backward_segment.size());
copy(
make_move_iterator(backward_segment.rbegin()),
make_move_iterator(backward_segment.rend()),
forward_segment.begin()
);
あなたが使用することができ、 'のstd :: copy_if'、私はそれは'のstd :: reverse_copy'についての記事を読む – Slava
それをより効率的になります疑います。 –
移動したり、コピーしたりする必要がありますか? – Exagon