46

让我最困惑的两个编程术语是透明不透明这两个词。它们相当常用,但我从未完全清楚它们的含义。

谷歌提供了大量使用“透明”一词的示例,例如:

还有一堆“不透明”的结果,主要与 C 概念有关:

虽然我也见过在与 C 无关的上下文中使用的词。

撇开它们在“不透明指针”等特定复合术语中的使用不谈,透明不透明这两个词在编程领域有什么含义?它们甚至是彼此的对立面,就像它们隐喻地暗示的视觉概念一样,还是彼此无关?

4

1 回答 1

42

在您给出的示例中,透明用于表示隐藏在幕后自动发生的事情的意义上(即无需代码用户或程序进行交互)。

Opaque也被用来表示hidden,这可能是混淆的地方。术语opaque 类型在 C/C++ 中具有特定含义,它指的是已声明但尚未定义的类型。

在这两种情况下,我认为人们都在使用这些术语来表达缺乏可见性。透明用于存在某些东西但您看不到它的地方。不透明用于存在某物的地方,但您无法看到其内部以检查其内部运作。

于 2013-06-29T22:09:39.437 回答