Können wir const_cast verwenden, um eine konstante Variable zu ändern? [Duplikat
Diese Frage hat hier bereits eine Antwort:
Zwei verschiedene Werte bei gleicher Speicheradresse 6 answersint main()
{
const int ia = 10;
int *pia = const_cast<int*>(&ia);
*pia = 5;
std::cout << &ia << "\t" << pia <<endl;
std::cout << ia << "\t" << *pia <<endl;
return 0;
}
Die Ausgabe ist:
0x28fef4 0x28fef4
10 5
*pia
undia
haben dieselbe Adresse, aber unterschiedliche Werte. Mein Zweck ist es, @ zu verwendconst_cast
, um einen konstanten Wert zu ändern, aber das Ergebnis zeigt, dass er nicht funktioniert.
Weiß jemand warum?