return NULL - страница 2

 
Koldun Zloy:

Последнюю строку вполне можно заменить на

return order;

Да, можно. До тех пор, пока метод At() остаётся без изменений.

 
Nikolai Karetnikov:

и я так сначала решил, что вполне можно заменить.

Артем, все-таки )

запись в конце 

будет равноценна записи 

или нет? 

Из вашего поста я сделал вывод, что пустой указатель это не NULL, а следовательно записи не равноценны

Можно возвращать сразу return order. Потому, что метод At() вернёт NULL в случае неудачного получения указателя из списка.

Тернарный оператор сделан для того, чтобы не закладываться на возврат значения из метода СБ (впрочем, дальше, в последующих статьях я всё же решил сразу возвращать значения метода At() на свой страх и риск возможных правок библиотеки в дальнейшем, если вдруг метод At() будет как-то, когда-нибудь ошибочно изменён - это не очень гут, но понятнее для начинающих):

//+------------------------------------------------------------------+
//| Access to data in the specified position                         |
//+------------------------------------------------------------------+
CObject *CArrayObj::At(const int index) const
  {
//--- check
   if(index<0 || index>=m_data_total)
      return(NULL);
//--- result
   return(m_data[index]);
  }
//+------------------------------------------------------------------+
Документация по MQL5: Стандартная библиотека / Коллекции данных / CArrayObj / At
Документация по MQL5: Стандартная библиотека / Коллекции данных / CArrayObj / At
  • www.mql5.com
Стандартная библиотека / Коллекции данных / CArrayObj / At - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Artyom Trishkin:

Можно возвращать сразу return order. Потому, что метод At() вернёт NULL в случае неудачного получения указателя из списка.

Тернарный оператор сделан для того, чтобы не закладываться на возврат значения из метода СБ:

все ясно. Спасибо!

 
Nikolai Karetnikov:

все ясно. Спасибо!

Выше дополнил:

впрочем, дальше, в последующих статьях я всё же решил сразу возвращать значения метода At() на свой страх и риск возможных правок библиотеки в дальнейшем, если вдруг метод At() будет как-то, когда-нибудь ошибочно изменён - это не очень гут, но понятнее для начинающих

 
Nikolai Karetnikov:

и я так сначала решил, что вполне можно заменить.

Артем, все-таки )

запись в конце 

будет равноценна записи 

или нет? 

Из вашего поста я сделал вывод, что пустой указатель это не NULL, а следовательно записи не равноценны

Равноценны)))
 
Nikolai Karetnikov:

и я так сначала решил, что вполне можно заменить.

Артем, все-таки )

запись в конце 

будет равноценна записи 

или нет? 

Из вашего поста я сделал вывод, что пустой указатель это не NULL, а следовательно записи не равноценны

Я думал, что я прямо сказал что они равноценны.