【正文】 
  这 2 天在回顾《内核设计与实现(第3版)》这本书时又看到了“提领”这种说法,它出现在书上第 75 页。估计译者当时也不知道应该翻译成什么中文词汇比较好,所以在译文后加上了英文原文“dereference”。书上的原文是这样的:

  说实话,当我第一次看到“提领”这个词时我完全不能理解,当时第一反应是:这好像是个古代官职,可这书是讲 Linux 内核的啊,那这到底是什么!? 
  幸亏译者给出了“dereference”这个原文,按照构词法来看它实际上是由“de-”前缀和“reference”单词组成。“reference”我们在源码或文档里见得多了,是“引用、参考”的意思,“de-”前缀则有“去除、去掉、反向”之意。这类常见的构成词对有很多,比如:

  1. compose - decompose(组合 - 分开)
  2. construct - deconstruct(构建 - 拆毁)
  3. emphasize - deemphasize(强调 - 忽略)
  再结合原文里“如果你碰巧已经得到了 next 和 prev 指针,你可以直接调用内部链表函数……这只有在向前和向后指针确实已经被提领过的情况下才…”这样的解释,所以这个所谓的“提领”其实就是“获取指针地址或引用地址上的值”的意思,按照构词法可直译为“引用解析”。 


  维基百科上对“dereference”的解释也印证了我这种说法的正确性:


  搞不懂书上为什么当时要翻译成“提领”这个怪模怪样的词,直接翻译成“引用解析”或类似的表达岂不是更容易让人理解?

【题外话】 
  当时我的思想还比较单纯,没有现在这觉悟,心想这种词汇含义的小问题应该早就有人解释过了,于是到号称“全球最大中文搜索引擎”的某度上搜索。得到的唯一有用信息是:“提领”还真是个古代官职名。

10-16 20:23
查看更多