我宣布:

queue<int, list<int> > Q

经过一系列的 call :
Q.push(37);
Q.pop();
Q.push(19);
Q.push(3);
Q.push(13);
Q.front();
Q.push(22);
Q.push(8);
Q.back();

我得到:
19-> 3-> 13-> 22-> 8-> NULL

我不明白的是对Q.front()和Q.back()的调用做了什么。据我了解,它们分别返回对第一个或最后一个元素的引用,但是如果没有进行这些调用,我看不出我的列表有什么不同。它们有效果吗?

抱歉,这看似微不足道,但是我试图找出那些有目的的电话,或者我的教授只是试图与我联系。

最佳答案

他们给您一个引用,但是如果您想使用它做某事,那么您必须使用该引用。

例如

Q.push(37);
Q.push(19);
Q.front() = 8;

那你应该有...
8,19

仅在自己的行上调用Q.front()或Q.back()无效。这些通常称为访问器函数,它们使您可以访问值(有时可以根据需要进行修改),但它们本身不会修改基础数据结构。

10-07 12:30