Показать сообщение отдельно
  #5  
Старый 07.12.2015, 07:32
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Цитата:
Сообщение от Страдалецъ
Посмотрел примерчик по ссылке и вот задался вопросом, почему сравнение в примере оформлено вот так?
Код:
if (NULL == pBuffer)
я понимаю, что компилятору без разницы, но почему все-же задом наперед?

Это известная парадигма. Дело в том, что C/C++, как и некоторые другие ЯВУ, позволяют делать операции присваивания внутри условных операторов. Т.е. при банальной очепятке у тебя может получиться вот такой код:
Код:
if (pBuffer = NULL) ...
Этот код прекрасно компилируется, но вот логика его будет неправильная. А если ты опечатаешься когда NULL идет первым в условии, то получишь ошибку компиляции...
Ответить с цитированием