任何计算机语言都不使用堆栈吗?

时间:2015-02-01 22:07:14

标签: data-structures programming-languages

是否有任何计算机语言不使用堆栈数据结构来跟踪执行进度?

或者这种数据结构的使用是否源于大多数计算机语言或图灵机固有的新兴要求?

1 个答案:

答案 0 :(得分:1)

使用传统的“C风格”堆栈,某些语言功能很难或无法实现。例如,使用传统堆栈无法轻松实现闭包,因为闭包需要指向旧激活记录的指针才能正常工作,并且内存在C样式堆栈中自动回收。另一个例子是,生成器和协同程序需要自己的内存来存储局部变量和相对偏移量信息,因此如果使用标准堆栈实现则无法轻松实现。

希望这有帮助!