V2EX  ›  英汉词典

Type Punning

释义 Definition

Type punning:在编程中,用一种数据类型的表示去“当作”另一种类型来解释/访问同一段内存的做法(例如把一段字节按 intfloat 或结构体来读)。常见于底层优化、序列化、位级操作等场景,但在某些语言/规则下可能导致未定义行为违反别名规则(strict aliasing)

发音 Pronunciation (IPA)

/taɪp ˈpʌnɪŋ/

例句 Examples

We used type punning to view the bytes of a float.
我们用类型双关把一个浮点数的内存按字节查看。

In C, type punning through an incompatible pointer can break strict aliasing and cause the optimizer to produce unexpected results.
在 C 语言里,通过不兼容指针进行类型双关可能破坏严格别名规则,从而让优化器产生意料之外的结果。

词源 Etymology

punning 原意是“双关语”(文字游戏:同一个形式产生不同含义)。type punning 借用这一概念,强调“同一份位/内存表示被赋予了不同类型解释”,像语言里的双关一样“换一种读法就换一种意义”。

相关词 Related Words

文献与作品 Literary/Notable Works

  • *ISO/IEC 9899 (C Standard)*(C 语言标准中讨论对象表示、有效类型与别名相关规则,常与 type punning 一起出现)
  • The C Programming Language(Kernighan & Ritchie,涉及底层内存与类型转换相关实践)
  • C++ Core Guidelines(讨论类型安全与避免危险的重新解释/别名问题,相关语境常提到 type punning)
  • Compilers: Principles, Techniques, and Tools(“龙书”,在编译优化与别名分析语境下常涉及与 type punning 相关的问题)
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   838 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 13ms · UTC 23:33 · PVG 07:33 · LAX 15:33 · JFK 18:33
♥ Do have faith in what you're doing.