Können wir den Wert einer const-Variablen ändern?

VonDieser Beitra.

Eine andere Verwendung zum Deklarieren einer Variablen alsregister undconst soll jede nicht-lokale Änderung dieser Variablen verhindern, selbst wenn die Adresse genommen und dann der Zeiger geworfen wird. Selbst wenn Sie glauben, dass Sie dies niemals selbst tun würden, übergeben Sie einmal einen Zeiger (auch mit einem const-Attribut)ei einer anderen Funktion können Sie niemals sicher sein, dass dies böswillig ist, und die Variable unter Ihren Füßen änder

Ich verstehe nicht, wie wir den Wert eines @ ändern könnconst Variable durch einen Zeiger. Ist es nicht undefiniertes Verhalten?

const int a = 81;
int *p = (int *)&a;
*p = 42; /* not allowed */

Antworten auf die Frage(5)

Ihre Antwort auf die Frage