Je ne comprennait pas l'utilité de const_cast alors j'ai pris un exemple :
const int cst = 20;
int *z = const_cast<int*>(&cst);
*z = 30;
cout << "la constante devrait valoir 20 : " << cst << endl;
cout << "et z devrait valoir 30 : " << *z << endl;
cout << "Adresse des variable z : "<< z << ", cst : " << &cst << endl ;
Et a ma grande surprise cst valait 20, *z valait 30 et les deux adresses sont identiques alors je ne voit pas comment deux objects de meme type pointant sur la même zone memoire peuvent avoir des valeurs differentes.
Voila je serai heureux de l'apprendre.
nb : si cela peut aider j'utilise le compilateur de Visual studio .NET 2002.