Traduzioni di questa pagina?:

const_cast

Sintassi:

    T const_cast<T> (object);

const_cast viene usato per rimuovere la proprietà const o volatile da un oggetto. Il tipo di dato nella parte sinistra di un assegnazione deve essere lo stesso dell'oggetto con la sola differenza che il primo non viene qualificato da un const. T dev'essere un puntatore o una reference.

Nell'esempio che segue il codice usa const_cast per rimuovere il qualificatore const da un oggetto di classe Foo:

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
}

Argomenti correlati: const, dynamic_cast, reinterpret_cast, static_cast, casting_comparison