【问题标题】:What does l stand for in lvalue? [duplicate]l 在左值中代表什么? [复制]
【发布时间】:2019-02-09 08:12:26
【问题描述】:

我一直认为 lvalue 和 rvalue 中的 l 和 r 代表“左”和“右”。然而,今天,我的老师启发我,r是“参考”,这让我大吃一惊。结果,我现在很困惑,因为我不知道 lvalue 中的 l 是什么。

【问题讨论】:

  • “left”和“right”是K&R创造的本义。 (这指的是赋值的左侧和右侧。)在 C++ 中,随着事情变得更加复杂,这已经略有变化...... ;-)
  • hmm r in rvalue 不是 reference 否则 rvalue reference 将是重言式
  • 刚刚发现了左值和右值:它们是由 Christopher Strachey 为 CPL [Strachey,196?] 介绍的,它是 BCPL 的祖先。 Dennis Ritchie 使用“左值”来描述 C(例如,参见 [K&R,1978]),但忽略了“右值”,考虑到“左值”和“非左值”就足够了。www.stroustrup.com/terminology.pdf 中。 (所以,我错了“由 K&R 创造”(完全)。)
  • 不过,今天老师教我r是“参考” 是的,错了就不是启蒙,'r'不代表'参考”。

标签: c++


【解决方案1】:

旧标准指向它们,简称为(赋值的)左右值。

在 C 中,L 值被命名为“定位器值”,因为它们指向内存地址。

【讨论】:

    猜你喜欢
    • 2014-05-18
    • 1970-01-01
    • 2011-09-17
    • 2015-03-06
    • 2013-10-06
    • 2020-01-03
    • 1970-01-01
    • 2011-01-09
    • 1970-01-01
    相关资源
    最近更新 更多