Section courante

A propos

Section administrative du site

CONST_CAST

Castré constante
ISO C++98

Syntaxe

postfix-expr := const_cast < type-id > ( expression )

Paramètres

Nom Description
postfix-expr Ce paramètre permet d'indiquer une expression post fixe.
type-id Ce paramètre permet d'indiquer un identificateur de type.

Description

Ce mot réservé permet de supprimer le modificateur const ou volatile dans un type de données.

Exemple

Cet exemple permet de castré une constante dans un objet et sur une simpla chaine de caractères :

Essayer maintenant !
  1. #include <iostream>
  2.  
  3. class maclasse {
  4.     public:
  5.         int number;
  6.         void traiteNombre() const {
  7.            const_cast<maclasse*>(this)->number = 10;
  8.            std::cout << "Avant : " << number << std::endl;
  9.            const_cast<maclasse*>(this)->number--;
  10.            std::cout << "Après : " << number << std::endl;
  11.         }
  12.  
  13. };
  14.  
  15. int main() {
  16.    maclasse ClasseCourante;
  17.    const char * c = "Bonjour";
  18.    char * result = const_cast<char *> (c);
  19.    std::cout << "Resultat : " << result << std::endl;
  20.    ClasseCourante.traiteNombre();
  21. }

on obtiendra le résultat suivant :

Resultat : Bonjour
Avant : 10
Après : 9

Voir également

Langage de programmation - C++ - Références de mots réservés (mots clefs) - const
Langage de programmation - C++ - Références de mots réservés (mots clefs) - dynamic_cast
Langage de programmation - C++ - Références de mots réservés (mots clefs) - reinterpret_cast
Langage de programmation - C++ - Références de mots réservés (mots clefs) - static_cast
Langage de programmation - C++ - Références de mots réservés (mots clefs) - volatile

Dernière mise à jour : Lundi, le 3 août 2015