导致我最困惑的两个编程术语是 透明 和 opaque 。它们相当常用,但我从未完全清楚它们的含义。
谷歌抛出大量使用“透明”一词的例子,例如:
以及'opaque'的一系列结果,主要与C概念有关:
虽然我也看过在与C无关的背景中使用的单词。
除了在“不透明指针”之类的特定复合词中使用它们之外,透明和 opaque 这些词在编程领域有什么意义?他们甚至是彼此的对立面,比如他们隐喻所暗示的视觉概念,还是彼此无关?
答案 0 :(得分:26)
在您提供的示例中,透明用于表示隐藏,就在幕后自动发生的事情(即没有代码的用户或程序必须互动)。
不透明也被用来表示隐藏,这可能是混淆的地方。术语 opaque type 有一个{{ 3}},它指的是已声明但尚未定义的类型。
在这两种情况下,我认为人们使用这些术语来表达缺乏可见性。在存在某些内容时会使用透明,但您无法看到它。 不透明用于存在某些内容的地方,但您无法在其中看到 来检查其内部工作情况。