Гуру, прошу пояснить новичку синтаксическую запись на mql - страница 2

 

Я уже понял, что аргументов не будет.

Можете больше не писать, я Вам отвечать не собираюсь. 

 
Koldun Zloy:

Я уже понял, что аргументов не будет.

Можете больше не писать, я Вам отвечать не собираюсь. 

Какие аргументы? Почему нужно стремиться возвращать указатели, и не возвращать объекты? Если нужны аргументы именно по этому вопросу, то могу только посочувствовать.
 

Аргументы нужны именно по этому вопросу. Для того чтобы я мог указать Вам на Вашу ошибку.

А на Ваше блаблабла даже возразить нечего.

Представьте, что я школьник и попробуйте сформулировать свою точку зрения, которую, якобы должны разделять все.

А тот кто не разделяет, достоин сочувствия, видимо как безнадёжный дурак. 

 
Dmitry Fedoseev:
Почему нужно стремиться возвращать указатели, и не возвращать объекты?

Тут я запутался)

Дмитрий, покажите, пожалуйста, два, по-возможности, простых примера: где возвращаем указатель и возвращаем объект.

P.S. Как вернуть из функции указатель, я более-менее могу представить, а, вот, про второе - вернуть объект - не понял(


P.S. P.S. Спасибо Всем, кто откликнулся в моей ветке, и, давайте жить дружно.

 
Anton Mikheyko:

Тут я запутался)

Дмитрий, покажите, пожалуйста, два, по-возможности, простых примера: где возвращаем указатель и возвращаем объект.

P.S. Как вернуть из функции указатель, я более-менее могу представить, а, вот, про второе - вернуть объект - не понял(


P.S. P.S. Спасибо Всем, кто откликнулся в моей ветке, и, давайте жить дружно.

Да никак. Тут один запутавшийся всех запутал. 

В вашем примере операторы, а не просто методы возвращающие объект. В вашем примере в одном случае возвращается указатель, а в другом объект. Но это надо рассматривать именно в теме операторов. Возвращение оператором объекта имеет смысл (и работает) когда сам описываешь, все, что должно делаться при копировании. А с указателями просто - перекинул указатель и все дела.

 

С объектами можно выполнять арифметические действия, можно обращаться к ним как к элементам массива, для этого нужно определить действия для операторов, то что делается в нижних строках:

   CRow *operator[](int i) const        { return(GetPointer(m_rows[i]));        }
   //--- оператор сложения
   CMatrix           operator+(const CMatrix &m);
   //--- оператор умножения
   CMatrix           operator*(const CMatrix &m);
   //--- оператор присваивания
   CMatrix          *operator=(const CMatrix &m);
 
Dmitry Fedoseev:

А с указателями просто - перекинул указатель и все дела.

А почему тогда оператор сложения (в отличии от присваивания) возвращает не указатель? Ведь "перекинул и все дела"!
 
A100:
А почему тогда оператор сложения (в отличии от присваивания) возвращает не указатель? Ведь "перекинул и все дела"!
Вас действительно интересует этот вопрос, или лишь бы поговорить?
 
Dmitry Fedoseev:
Вас действительно интересует этот вопрос, или лишь бы поговорить?

Хотелось бы услышать мнение специалиста

Я то сам думаю, что такой выбор (возврат не указателя) был сделан по следующей причине:

 
A100:

Хотелось бы услышать мнение специалиста

Да вы уж как-нибудь при своем останьтесь.