我对如何将下面的代码发送一个变量然后将该变量更改为堆栈顶部的值而不“返回”一个值感到困惑。因此,如果 1 在顶部,我可以执行 stack.pop(variable) ,然后 variable 将等于 1。
void DynIntStack::pop(int &num)
{
StackNode *temp; // Temporary pointer
// First make sure the stack isn't empty.
if (isEmpty())
{
cout << "The stack is empty.\n";
}
else // pop value off top of stack
{
num = top->value;
temp = top->next;
delete top;
top = temp;
}
}