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