我有一个返回std::vector
的函数。我想将vector
的每个元素推送到std::queue
。以下表达式是否正确:
myQueue.push(myVector);
如果它是合法的,它会将向量的每个元素分别添加到队列中吗?或者它会将整个向量添加到队列中,然后我可以使用myQueue.front()
返回向量并访问向量中的元素吗?
OR
我是否必须迭代向量并将每个元素推送到队列,即
for(int i=0, i<myVector.size(); i++)
{
myQueue.push(myVector[i]);
}
谢谢,
答案 0 :(得分:1)
您需要遍历元素。 (还有其他插入器的方法,但是它们都必须循环,因为这两个容器是不同的类型。)你没关系,但我会使用新的C ++语法。
for (auto &entry: myVector)
myQueue.push(entry);
答案 1 :(得分:1)
您必须迭代向量并将每个元素推送到队列。