Possible Duplicates:
How to check for equals? (0 == i) or (i == 0)
Why does one often see “null != variable” instead of “variable != null” in C#?Perché alcuni programmatori esperti scrivono confronti con il valore prima della variabile?
Ho avuto uno sguardo a un tutorial qua e là, così come un certo codice DirectX e ho notato che molti programmatori esperti C++ scrivere espressioni nel seguente modo:
(<constant> == <variable>)
piuttosto che ciò che la mia saggezza convenzionale sembra preferire:
(<variable> == <constant>)
Eg if (NULL == ptr)
anziché if (ptr == NULL)
. Preferisco la seconda alternativa, se non ci sono altri motivi per scegliere la prima, la mia ragione è che la variabile sembra essere la parte "ricevente" dell'espressione.
Ma sospetto che il primo sia utilizzato per evitare di assegnare inavvertitamente il valore della costante alla variabile utilizzando =
anziché ==
. Sarebbe corretto?
sì, corrette su questo codice oggetto sacro guerra più spesso associati a C++ di codifica. –
@ Mark: ora colpisci tutti quelli che usano l'ordine sbagliato! (Suggerimento: i veri programmatori non sbagliano mai = per == ...!) –
L'unica cosa è che smetterei di pensarci come se la variabile "ricevesse" qualcosa in questo tipo di espressioni. – BobbyShaftoe