Каковы плюсы и минусы двух следующих обозначений?Плюсы и минусы: (a == 0) vs (0 == a)
if (a == 0) ...
и
if (0 == a) ...
Первый из них является более читаемым. А как насчет второго?
Каковы плюсы и минусы двух следующих обозначений?Плюсы и минусы: (a == 0) vs (0 == a)
if (a == 0) ...
и
if (0 == a) ...
Первый из них является более читаемым. А как насчет второго?
Есть действительно только две вещи в игре здесь:
Первый является читаемость, что само explanitory.
Во-вторых, предотвратить возможные ошибки, в вашем примере, это предотвращает случайное делает
if (a = 0)
Некоторые компиляторы предупредит вас, что вы используете неявную truthiness возвращаемого значения уступки, но большая часть время это опечатка. Если изменить эту
if (0 = a)
он не будет даже компиляции, поэтому вынужденное предотвращение ошибки
[Более читаемым второй есть.] (Http://blog.codinghorror.com/ content/images/uploads/2012/07/6a0120a85dcdae970b0176169611b8970c-800wi.png) –
Второй также известен как условие Йоды, см. [В чем разница между if (NULL == pointer) vs if (указатель == NULL)? ] (http://stackoverflow.com/q/22106713/1708801), как я уже отмечал в своем ответе на современный компилятор, это больше не нужно. –