如果我有std::deque
并且std::vector
想要将它们组合到std::deque
,我可以通过以下方式进行:
typedef int T; // type int will serve just for illustration
std::deque< T > deq(100); // just some random size here
std::vector< T > vec(50);
// ... doing some filling ...
// now moving vector to the end of queue:
deq.insert(
deq.end(),
std::make_move_iterator( vec.begin() ),
std::make_move_iterator( vec.end() )
);
std::cout << deq.size() << std::endl;
我们知道向量的大小,但我们不能std::deque
在使用std::deque.insert(...)
. 那么这是将所有元素移动std::vector
到末尾的最快方法std::deque
吗?还是我错过了什么?
谢谢你。