【发布时间】:2010-12-19 14:20:18
【问题描述】:
我正在看一个实现堆栈的链接列表的教科书示例。我不明白为什么推送操作需要使用指向堆栈的指针的指针。请参阅以下示例:
bool push( Element **stack, void *data)
{
Element *elem = new Element;
if(!elem) return false;
elem->data = data;
elem->next = *stack;
*stack = elem;
return true;
}
如果有人能帮助澄清为什么 push 方法的第一个参数是指向指针的指针,我将不胜感激。谢谢。
太棒了,感谢您提供的所有出色帮助。
【问题讨论】:
-
C 没有新的关键字。 C++ 可以。也就是说,C++ 在分配内存失败时会抛出异常,因此无需检查 null。
-
另外请记住,您可以使用引用而不是指针来让编译器为您完成繁琐的工作。
标签: c++ pointers linked-list stack