const_cast
De cppreference.com
Sintaxis:
T const_cast<T> (object);
La palabra clave const_cast se usa para realizar una conversión que remueve las calificaciones const y/o volatile de un objeto. El tipo de datos destino es el mismo tipo de datos de la fuente, excepto que no tenga las mismas calificaciones const o volatile. T debe ser un tipo de datos referencia o puntero.
[editar] Ejemplo
El siguiente ejemplo usa const_cast para remover la calificación const de un objeto temporalmente con el objeto de llamar a una función miembro no-constante:
class Foo { public: void func() {} // esta función miembro es no-constante }; void someFunction( const Foo& f ) { f.func(); // error de compilación: // tratar de llamar a función no-constante Foo::func // desde un objeto constante f Foo &fRef = const_cast<Foo&>(f); // fRef es un alias a f // pero no tiene la calificación const fRef.func(); // ahora sí se puede }
Tópicos Relacionados: const, dynamic_cast, reinterpret_cast, static_cast, casting_comparison