C++ 编程
外观
const_cast 关键字可以用来移除对象中的 const 或 volatile 属性。目标数据类型必须与源类型相同,除了(当然)目标类型不必具有相同的 const 限定符。类型 TYPE 必须是指针或引用类型。
- 语法
TYPE* const_cast<TYPE*> (object);
TYPE& const_cast<TYPE&> (object);
例如,以下代码使用 const_cast 从对象中移除 const 限定符
class Foo {
public:
void func() {} // a non-const member function
};
void someFunction( const Foo& f ) {
f.func(); // compile error: cannot call a non-const
// function on a const reference
Foo &fRef = const_cast<Foo&>(f);
fRef.func(); // okay
}