Percorrendo EASTL, ho inciampato attraverso una linea particolare di codice. Il link seguente mostra il file con il numero di riga di interesse al 1870.Qual è la differenza tra! (X < y) and x > = y in C++?
https://github.com/paulhodge/EASTL/blob/master/include/EASTL/algorithm.h
Il codice a quella riga è if(!(value < *i))
. Il commento dice che "esprimiamo sempre confronti di valore in termini di < o ==" senza alcuna spiegazione sul motivo per cui è così. Ci sono anche alcune altre aree in cui viene inserito lo stesso commento ma senza alcuna spiegazione
C'è qualche vantaggio per scrivere un confronto del genere (forse così contesto che sto trascurando)? Altrimenti, perché l'autore di EASTL l'ha deliberatamente scritto in questo modo particolare e si è anche preso la briga di commentarlo? La coerenza è l'unica ragione qui?
In virgola mobile, sono diversi, poiché il confronto con 'NaN' restituirà sempre falso. – Mysticial
Perché non glielo chiedi? –
Sembra un ottimizzazione del processore/assemblatore/compilatore molto specifica. Questo codice è mirato ad un particolare processore/compilatore ecc. –