在编程中某些东西是可传递的是什么意思?

sds*_*asd 4 c++

关于编程,某些东西是可传递的,这意味着什么?一个例子如下(来自这里):

对于非限定查找,使用指令是可传递的:

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

mol*_*ilo 5

二元关系~是可传递的当且仅当a ~ bb ~ c暗示a ~ c
(例如,“高于”是可传递的;“住在隔壁”则不是。)

在这种特殊情况下,A是usingB,B是usingC,using直接和A C效果一样。


Pet*_*ter 5

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

例如,平等是一种传递关系。如果A == BB == C再传递是允许A == C是真实的。同样,小于是传递关系,这意味着 ifA < BB < Cthen A < 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
  }
Run Code Online (Sandbox Code Playgroud)

在上面,fooinmain()解析为A::foo。由于Ausing namespace Bfoomain()还解析B::foo。传递性是使这一切起作用的正式名称。