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 answers
int 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?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage