将矢量元素推送到队列

时间:2016-02-22 01:22:11

标签: c++ vector queue

我有一个返回std::vector的函数。我想将vector的每个元素推送到std::queue。以下表达式是否正确:

myQueue.push(myVector);

如果它是合法的,它会将向量的每个元素分别添加到队列中吗?或者它会将整个向量添加到队列中,然后我可以使用myQueue.front()返回向量并访问向量中的元素吗?

OR

我是否必须迭代向量并将每个元素推送到队列,即

for(int i=0, i<myVector.size(); i++)
{
   myQueue.push(myVector[i]);
}

谢谢,

2 个答案:

答案 0 :(得分:1)

您需要遍历元素。 (还有其他插入器的方法,但是它们都必须循环,因为这两个容器是不同的类型。)你没关系,但我会使用新的C ++语法。

for (auto &entry: myVector)
    myQueue.push(entry);

答案 1 :(得分:1)

您必须迭代向量并将每个元素推送到队列。