const_cast

De cppreference.com
Saltar a: navegación, buscar

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

Herramientas personales
Espacios de nombres
Variantes
Acciones
Navegación
Herramientas
Otros idiomas