例如,如果我有一个名为Q的int
队列,其值为(从前到后)0,1,2和3,我可以创建另一个int
队列和将它们设置为彼此相等以复制彼此的数据?
以下是一个例子:
编写一个C ++函数
queue<int> copy_queue(queue<int> &Q)
,它返回一个包含Q中所有项目的新队列,其顺序与Q中找到的顺序相同。原始队列Q必须最终保持不变。
是否有可能只做以下事情:
queue<int> copy_queue(queue<int> &Q){
queue<int>Q2 = Q;
return Q2;
}
答案 0 :(得分:3)
是否有可能只做以下事情:......
几乎。记住要求
原始队列Q必须保持不变。
在参考参数中添加const
以保证:
std::queue<int> copy_queue(const std::queue<int> &Q) {
// ^^^^^
std::queue<int>Q2 = Q;
return Q2;
}
请注意,这个copy_queue()
函数看起来很无用,因为只需使用
std::queue<int>Q2 = Q;
已经做了你想做的事。