Perche` non si possono comparare strutture?
Non c'e` alcun singolo, buon modo per un compilatore di implementare comparazioni di strutture che sia consistente con l'approccio a basso livello del C. Una semplice comparazione byte-per-byte potrebbe fallire sui bit casuali presenti nelle ``buche'' inutilizzate nelle strutture (tali riempitivi sono utilizzati per mantenere un corretto allineamento dei campi successivi; vedere domanda 2.12). Una comparazione campo-per-campo potrebbe richiedere quantita` inaccettabili di codice ripetitivo per grandi strutture.
Se bisogna comparare due strutture, e` necessario scrivere del codice che lo faccia campo per campo.
Riferimenti:
K&R2 Sez. 6.2 p. 129
ANSI Sez. 4.11.4.1 footnote 136
Rationale Sez. 3.3.9
H&S Sez. 5.6.2 p. 133
Leggere di seguito: prev prossima su cima
Questa pagina e` di Steve Summit // Copyright 1995 // mail feedback