【问题标题】:What is the term used to describe a variable that refers to another variable?用于描述引用另一个变量的变量的术语是什么?
【发布时间】:2013-02-16 17:19:11
【问题描述】:

当一个变量被声明时,变量和它的值之间有一个“步骤”。

x = 'hi'

根据代码的复杂性,x 可能被其他变量和参数引用。这可以创建许多“步骤”来恢复原始表达式。

这种现象有术语吗?长链表达式?

【问题讨论】:

  • 我不同意第一句话。 “步骤”的定义是什么?
  • 我不太确定,因此在这个词周围加上引号。任何有关如何改进措辞的建议将不胜感激。也许是“抽象”或“评估参考”?

标签: terminology


【解决方案1】:

您是在谈论语义表达式(在这种情况下,可以随意称呼它,例如“递归解引用”),还是编程术语(在这种情况下,我能想到的最接近的东西是“指针”) ?

【讨论】:

  • 两者都可以,因为我对一般术语有点困惑。感谢您做出区分。我想我的问题是“是否有指向其他指针的指针的名称,指向其他指针......?”我知道这听起来很愚蠢。但我猜在某些领域有一个术语。也许在讨论共享状态或锁时?不知道。
  • 好的,回答我自己的问题,指向另一个指针的指针称为“多重间接”。不确定是否变量 == 指针,或者引用另一个变量的变量会被调用。
  • 啊,我的错误,我想我误解了(因此是“取消引用”,而不是“间接”)。听起来“间接”更合适。
【解决方案2】:

就像 roach374 所说,我认为“指针”可能是您所追求的。

【讨论】:

    【解决方案3】:

    在 C++ 中,除了指针之外,还有引用

    引用类似于 指针,但要保证确实有一个对象可以访问(相比之下,指针也可以为 NULL,因此,可能需要检查是否确实存在它指向的对象。或者可以有意将其设置为 NULL - 而不是引用)。

    这就是你要找的吗?

    示例(引用由类型后的 & 符号定义):

    std::string original = "foo";
    
    // Reference to the original variable
    std::string& myRef = original;
    cout << original << "  " << myRef << endl;
    
    // Now change the original -> reference should follow since it's not a copy
    original = "bar";
    cout << original << "  " << myRef << endl;
    
    // Reference to the reference
    std::string& newRef = myRef;
    
    // Again changing the original -> both ref's follow
    original = "baz";
    cout << original << "  " << myRef << "  " << newRef << endl;
    

    输出将是:

    foo  foo
    bar  bar
    baz  baz  baz
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多