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#?¿Por qué algunos programadores experimentados escriben comparaciones con el valor antes de la variable?
He estado teniendo un vistazo a un tutorial aquí y allá, así como un código de DirectX y se dio cuenta de que muchos experimentados programadores de C++ escriben expresiones de la siguiente manera:
(<constant> == <variable>)
en lugar de lo que mi sabiduría convencional parece preferir:
(<variable> == <constant>)
Por ej. if (NULL == ptr)
en lugar de if (ptr == NULL)
. Prefiero la segunda alternativa, si no hay otras razones para elegir la primera, mi razón es que la variable parece ser el final "receptor" de la expresión.
Pero sospecho que el primero se usa para evitar asignar inadvertidamente el valor de la constante a la variable usando =
en lugar de ==
. ¿Sería eso correcto?
sí, corregir en este código el elemento de guerra santa más a menudo asociado con la codificación C++. –
@Mark: ¡ahora hiera a todos los que usan el orden incorrecto! (Sugerencia: ¡los programadores reales nunca se equivocan = por == ...!) –
Lo único es que dejaría de pensar en ello como la variable "recibir" algo en este tipo de expresiones. – BobbyShaftoe