繁体   English   中英

编程中有什么事物是可传递的,这意味着什么?

[英]What does it mean that something is transitive in programming?

什么是编程方面的可传递性? 下面是一个示例(从此处开始 ):

use-directives是传递性的,用于非限定查找:

我知道该特定说明的详细说明,但是,我正在努力寻求与编程有关的更一般的解释。

二进制关系~是传递的,当且仅当a ~ bb ~ c意味着a ~ c
(例如,“比...高”是可传递的;“不是比...高”。)

在这种特殊情况下,A using B,而B using C,与直接using C的A具有相同的效果。

传递性是形式逻辑中的术语。 这意味着“如果A与B具有传递关系,并且B与C具有相同关系,则A与C具有该关系”。

例如,平等是传递关系。 如果A == BB == C那么传递性就是允许A == C成立的原因。 类似地,小于是传递关系,这意味着如果A < BB < CA < C

对于using指令,其含义是,如果作用域包含一个提名命名空间名称的using指令,而该指令本身又包含第二个命名空间名称的using指令,则效果就好像第二个命名空间的using指令出现在第一个命名空间中一样。 。

在代码中,这意味着

  namespace B
  {
        int foo;
  }

  namespace A   
  {
       using namespace B;
  }

  using namespace A;

  int main()
  {
      foo = 42;       // resolves to B::foo
  }

在上文中, foomain()解析为A::foo 由于A具有正在using namespace B ,因此main() foo也解析为B::foo 可传递性是使所有功能正常工作的正式名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM