Traductions de cette page?:

const_cast

Syntaxe :

    T const_cast<T> (objet);

Le mot-clef const_cast peut être utilisé pour supprimer la propriété const ou volatile d'un objet. Le type de l'objet cible doit être le même que celui de l'objet source, sauf, bien entendu, que le type de l'objet cible n'est pas constant.

Le type T doit être un pointeur ou une référence.

Par exemple, le code suivant utilise const_cast pour retirer la propriété const de l'objet :

class Foo {
public:
  void fonction() {} // une fonction membre non-constante
};
 
void autreFonction (const Foo& f)  {
  f.fonction();     // erreur de compilation : impossible d'appeller
                    // une fonction non-constante sur une référence
                    // constante.
  Foo &fRef = const_cast<Foo&> (f);
  fRef.fonction();  // compile correctement
}

Sujets connexes : const, dynamic_cast, reinterpret_cast, static_cast, casting_comparison