V2EX  ›  英汉词典

Const Cast

释义 Definition

const cast(通常写作 const_cast)是 C++ 中的类型转换运算符,用来添加或移除类型的 const / volatile 限定(最常见的是“去掉 const”),以便在需要非 const 参数的接口中传递指针或引用。
注意:如果对象本来就是 const,通过 const_cast 去掉 const 后再修改它,属于未定义行为(undefined behavior)。

发音 Pronunciation (IPA)

/ˈkɑːnst kæst/

词源 Etymology

这是 C++ 术语中的“组合词/构造名”:const 来自 constant(常量、不可修改的限定),cast 来自“类型转换(casting)”的传统说法。C++ 在早期 C 风格强制转换的基础上,引入了更明确的四种命名转换(如 static_castdynamic_castconst_castreinterpret_cast),其中 const_cast 专门处理 const/volatile 限定。

例句 Examples

I used const_cast to pass a const pointer to an old API.
我用了 const_cast 把一个 const 指针传给旧接口。

Although const_cast can remove constness from a reference, modifying an object that was originally declared const is undefined behavior in C++.
虽然 const_cast 可以从引用上移除 const 限定,但在 C++ 中修改一个最初就被声明为 const 的对象会导致未定义行为。

相关词 Related Words

文献与作品 Notable Works

  • The C++ Programming Language(Bjarne Stroustrup)中讨论 C++ 的命名转换运算符体系(包含 const_cast)。
  • C++ Primer(Lippman, Lajoie, Moo)在类型系统与指针/引用章节中介绍 const_cast 的用途与风险。
  • *Effective C++*(Scott Meyers)在 const 正确性(const-correctness)与接口设计相关条目中提及 const_cast 的谨慎使用。
  • ISO C++ Standard(C++ 国际标准文档)在“显式类型转换(explicit type conversion)”相关条款中规范 const_cast 的语义与限制。
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   806 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 12ms · UTC 23:21 · PVG 07:21 · LAX 15:21 · JFK 18:21
♥ Do have faith in what you're doing.