Comportamento definito dall'implementazione cambiando il tipo const in c

1

Lo standard C afferma che se si tenta di cambiare un tipo const, il risultato è definito dall'implementazione. Questo dà un errore sul mio sistema, ma da cosa dipende (compilatore, os)? Quali sono i possibili risultati (implementazione definita) su varie macchine?

    
posta user1369975 01.06.2013 - 13:02
fonte

1 risposta

2

Sembra che tu abbia frainteso lo standard C. Cercando di modificare una variabile qualificata const è una violazione del vincolo e deve quindi risultare in un messaggio diagnostico dal compilatore.

Se provi a sovvertire quel meccanismo (ad esempio, gettando via const ), allora sei da solo. Il tentativo di modificare un oggetto definito come const ha come risultato Comportamento indefinito , il che significa che letteralmente tutto è possibile. Non esiste un comportamento definito dall'implementazione nel contesto di const nello standard C.

    
risposta data 01.06.2013 - 18:22
fonte

Leggi altre domande sui tag