【发布时间】:2011-08-15 10:22:17
【问题描述】:
我刚开始在当地大学上 C++ 课程,老师给课程分配了一项作业,我们必须创建一个向量并从堆栈中间删除一个元素。
她提供了这个例子:
vect[3] = vect[vect.size()-1];
vect.pop_back();
现在..我已经对其进行了测试并且它可以工作我只是不确定它是如何工作的或为什么会工作。我确定有人可以提供一个简单的解释吗?
【问题讨论】:
-
请注意,该示例不能仅使用堆栈操作(推送和弹出)。要擦除堆栈中间的元素,您需要创建一个新堆栈,将元素弹出推送到新堆栈,弹出要删除的元素,然后将它们弹出推送回原来的..