Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
не согласен:
Пожалуйста оновите свои знания о том, что такое "оператор присвоения" и "конструктор копирования", чем они отличаются, когда и как вызываются (явно и неявно).
Желтым цветом в коде вами выделен возврат локальной переменной с функции, в результате чего вызывается дефолтный конструктор копирования (не путать с оператором присвоения).
Что такое "полный тип данных", к сожалению, не совсем ясно, как и то, что вы пытались доказать своим кодом...
Повторюсь: "дефолтный оператор присвоения в MQL возвращает тип данных void;"
Ошибаетесь.
Просто определите свой operator=, который возвращает this, и увидите разницу.
Увидеть это можно когда результат присваивания присваивается ещё раз.
если я определю оператор =, то уйду от своей начальной цели - вызвать дефолтный ::=
видимо вопрос не разрешимый
Что такое "полный тип данных", к сожалению, не совсем ясно, как и то, что вы пытались доказать своим кодом...
полный это полный - будет сохранена структура данных, и нет необходимости контролировать копирование структур если добавляю новые поля
если я определю оператор =, то уйду от своей начальной цели - вызвать дефолтный ::=
А Вам сильно нужно такое присваивание?
полный это полный - будет сохранена структура данных, и нет необходимости контролировать копирование структур если добавляю новые поля
Тогда, согласно вашей терминологии, вызов дефолтного оператора присвоения может дать "неполный тип данных".
Баг от 2019.05.03 так и не был исправен: https://www.mql5.com/ru/forum/1111/page2451#comment_11556395
А Вам сильно нужно такое присваивание?
чисто в теории нужно - хотел узнать, вдруг это некая "новая сущность", а не оператор =
для практического использования вообще не нужно, без проблем запишу в 2 оператора
Тогда, согласно вашей терминологии, вызов дефолтного оператора присвоения может дать "неполный тип данных".
Баг от 2019.05.03 так и не был исправен: https://www.mql5.com/ru/forum/1111/page2451#comment_11556395
"моя терминология" - это чтобы спросить, не имею претензий,
но смысл использования дефолтного оператора = , удобно, что описываешь только поля в структуре, а копируются все, включая даже размерности массивов (правда только с увеличением размерности - принцип работы как у ArrayCopy() )
ну раз баг, значит пока так
вопрос чисто теоретический:
видел, возможно в СБ, такой вызов конструктора:
чем будет отличаться такой код:
распринтовал, разницы не увидел, тогда немного конкретнее - что дает или зачем можно использовать принудительный вызов конструкторов обьектов a1 и a2?
в чем "удобство" первого варианта?
вопрос чисто теоретический:
видел, возможно в СБ, такой вызов конструктора:
чем будет отличаться такой код:
распринтовал, разницы не увидел, тогда немного конкретнее - что дает или зачем можно использовать принудительный вызов конструкторов обьектов a1 и a2?
в чем "удобство" первого варианта?
у конструкторов бывают параметры, и их надо как-то передавать
То есть пока параметров нет, разницы и не чуствуется, а вот если будет конструктор A(int arg) то совсем другой коленкор
у конструкторов бывают параметры, и их надо как-то передавать
То есть пока параметров нет, разницы и не чуствуется, а вот если будет конструктор A(int arg) то совсем другой коленкор
наверное, Вы правы - в общем зависит от задач
у меня просто из-за первого варианта возникли трудности, когда захотел 2 конструктора класса В использовать - получил дублирование кода в обоих конструкторах - убрал, осталась лишь примерно та часть кода, что в первом варианте, вот и вопрос появился, где я это увидел и на кой так написал )))
что дает или зачем можно использовать принудительный вызов конструкторов обьектов a1 и a2?
Корректная назва процесса не "принудительный вызов конструкторов a1 и a2", а инициализация полей класса (нестатических).
Обязательна в случаях:
А кто-нибудь объяснит, чем такая инициализация полей:
лучше чем такая:
И вообще, в чем смысл?