【问题标题】:In SML, does every variable denotes a reference?在 SML 中,每个变量都表示一个引用吗?
【发布时间】:2020-08-07 04:26:45
【问题描述】:

在 C 中,

  • 每个变量都表示一个引用,我们可以通过运算符&从变量中获取引用。例如如果int x=1,则&x 是变量x 表示的引用。

  • 每个变量都被评估为引用引用的值。例如x 被评估为 1

在 SML 中,

  • 每个变量都表示一个引用吗?例如。如果val y = ref(3),则y 表示引用3。如果let val x = 4x 表示什么:4 或引用 4?我们能否得到变量x表示的引用,类似于C中的&

  • y 被评估为引用 ref 3x 被评估为 4

谢谢。

【问题讨论】:

    标签: programming-languages sml ml


    【解决方案1】:

    SML 中的变量绑定不引入引用。在您的示例中,您无法获得对 x 的引用。所有引用都必须显式创建,并且是一流的值。只有这样的引用是可变的,绑定不是。

    换句话说,绑定和引用在 SML 中是完全独立的功能。

    【讨论】:

      猜你喜欢
      • 2020-08-06
      • 2014-08-03
      • 2012-08-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-16
      • 2019-04-25
      • 2010-10-24
      相关资源
      最近更新 更多