Там проверка на Не NULL, то сделать NULL
?? https://www.mql5.com/ru/docs/basis/operators/ternary
Допустим в последней строке еще можно так подумать, а что со строкой
if(list==NULL) return NULL;
))
- www.mql5.com
?? https://www.mql5.com/ru/docs/basis/operators/ternary
Допустим в последней строке еще можно так подумать, а что со строкой
))
if(list==NULL) return NULL;
если не равно NULL, return NULL ; пропускается и идем дальше
Там проверка на Не NULL, то сделать NULL,
А ну выше действительно на равность проверка, и внизу почти тоже самое, на первый взгляд можно сразу NULL возвращать без кода)
так нет же ш, нет? )))
я интерпретирую последнюю строку как
"если order не равен NULL, то вернуть order, иначе вернуть NULL", т.е. можно просто написать "вернуть order"
запись order : NULL
это не присвоение, а выбор из двух альтернатив
Добрый день!
Знакомился на досуге с библиотекой, представленной на сайте.
Натолкнулся на следующий код
Хотелось бы спросить, зачем делать проверку на NULL и если объект действительно NULL, то возвращать NULL? ))
Метод возвращает указатель на объект. Если список ордеров позиции получить не удалось - возвращаем NULL, или если указатель на ордер из полученного сортированного по времени открытия ордеров списка получить не удалось, то возвращаем NULL.
В программе проверяем результат возврата на NULL. Если NULL, то ордер не получен.
Проверки сделаны во избежание обращения к ордеру в программе по невалидному указателю.
ЗЫ. Такие вопросы нужно задавать напрямую в обсуждении статьи, а не на форуме гадать - быстрее ответ будет.
Строка
return(order!=NULL ? order : NULL);
означает буквально следующее: если указатель не равен NULL, то возвращаем указатель, иначе - NULL
Метод возвращает указатель на объект. Если список ордеров позиции получить не удалось - возвращаем NULL, или если указатель на ордер из полученного сортированного по времени открытия ордеров списка получить не удалось, то возвращаем NULL.
В программе проверяем результат возврата на NULL. Если NULL, то ордер не получен.
Проверки сделаны во избежание обращения к ордеру в программе по невалидному указателю.
ЗЫ. Такие вопросы нужно задавать напрямую в обсуждении статьи, а не на форуме гадать - быстрее ответ будет.
Строка
означает буквально следующее: если указатель не равен NULL, то возвращаем указатель, иначе - NULL
спасибо! Этого я и не осознавал. Возвращается указатель, а не пустой объект )
спасибо! Этого я и не осознавал. Возвращается указатель, а не пустой объект )
Указатель возвращается только в случае успешного его получения. Иначе - NULL.
?? https://www.mql5.com/ru/docs/basis/operators/ternary
Допустим в последней строке еще можно так подумать, а что со строкой
))
Последнюю строку вполне можно заменить на
return order;
Строка:
if( list == NULL )return NULL;
необходима, так как дальше будет обращение к объекту по этому указателю.
Последнюю строку вполне можно заменить на
Строка:
необходима, так как дальше будет обращение к объекту по этому указателю.
и я так сначала решил, что вполне можно заменить.
Артем, все-таки )
запись в конце
return(order!=NULL ? order : NULL);
будет равноценна записи
return(order)
или нет?
Из вашего поста я сделал вывод, что пустой указатель это не NULL, а следовательно записи не равноценны
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Добрый день!
Знакомился на досуге с библиотекой, представленной на сайте.
Натолкнулся на следующий код
Хотелось бы спросить, зачем делать проверку на NULL и если объект действительно NULL, то возвращать NULL? ))