堆栈机在C++代码中的使用有多普遍

How common is stack machine use in C++ code?

本文关键字:C++ 代码 堆栈机      更新时间:2023-10-16

我正在查看一些C++代码,它包括一个用于脚本编写的堆栈机。我C++年前就学过,但从未在我的日常工作中使用它,所以我不知道这是常见的做法,还是只在某些非常特殊的情况下使用?

如果您需要计算诸如 2 + 3 * 7x = a + b / sin(c) 之类的表达式,那么面向堆栈的方法将非常有效。

我不会说这太常见了。我知道Emacs是围绕Lisp解释器构建的,而Lisp解释器通常是作为堆栈机器实现的,我不确定我是否知道任何使用这种方法的东西。但这并不是说在某些领域这不常用。

看/想一想,我也认为Java VM本质上是一个堆栈机器,PostScript也是如此(以及扩展PDF解释器,因为这个概念是基于简化的PostScript格式)。