bool LinkedStack<ItemType>::push(const ItemType& newItem)
{
Node<ItemType>* newNodePtr = new Node<ItemType>(newItem, topPtr);
topPtr = newNodePtr;
newNodePtr = nullptr;
return true;
}
我有点困惑为什么我们必须在这个push函数中执行newNodePtr = nullptr。 根据我的理解,我们创建节点,使用netItem设置其数据,并将其旁边的topPtr设置为堆栈中的第一个项目。然后我们将topPtr设置为指向我们刚刚创建的newNodePtr。在那行之后我不确定为什么我们将newNodePtr设置为nullPtr ..这不会导致我们丢失链的其余部分..有人可以解释这个一行以及为什么它在这里用于堆栈..