1. 基本介绍
const_cast是 C++ 中专门用于添加或移除变量的 const 和 volatile 限定符 的类型转换运算符。它是唯一能够移除 const 属性的 C++ 风格转换。
核心特性
// 语法
const_cast<新类型>(表达式)
// 只能修改 const/volatile 限定符,不能改变基本类型
// 新类型必须是指针、引用或指向成员的指针
2. 主要功能
2.1 移除 const 限定符
// 从 const 到非 const
const int x = 10;
int* p = const_cast<int*>(&x); // 移除 const
*p = 20; // 危险!未定义行为,因为 x 是真正的 const
// 从 const 引用到非 const 引用
const std::string& constStr = "hello";
std::string& str = const_cast<std::string&>(constStr);
str.append(" world"); // 如果原对象不是真正的 const,则安全
2.2 添加 const 限定符
// 从非 const 到
订阅专栏 解锁全文
240

被折叠的 条评论
为什么被折叠?



