Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Не понял.
https://www.mql5.com/ru/forum/1111/page3600#comment_55388475
Неявный - тот, который вы не объявляли, а компилятор сам сгенерировал его для вас. MQL компилятор так не умеет.
https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D0%BE%D1%80_%D0%BA%D0%BE%D0%BF%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F
Обычно компилятор автоматически создает конструктор копирования для каждого класса (известные как неявные конструкторы копирования, то есть конструкторы копирования, заданные неявным образом), но в некоторых случаях программист создает конструктор копирования, называемый в таком случае явным конструктором копирования (или «конструктором копирования, заданным явным образом»). В подобных случаях компилятор не создает неявные конструкторы.
Следующие примеры иллюстрируют работу конструкторов копирования и их необходимость.
Как и ожидалось, timmy скопировался в новый объект timmy_clone. При изменении возраста (age) timmy, у timmy_clone возраст не менялся: объекты полностью независимы.
Компилятор сгенерировал для нас конструктор копирования, который может быть записан примерно так:
Person(Person const& copy) : age(copy.age) {}
https://www.mql5.com/ru/forum/1111/page3600#comment_55388475
Неявный - тот, который вы не объявляли, а компилятор сам сгенерировал его для вас. MQL компилятор так не умеет.
Сложности только при const-полях?
Сложности только при const-полях?
Да, недостаток operator= заключается в том, что вы не можете использовать его для const полей (лично у меня больше половины объектов содержат const поля). А конструктор копирования придется объявлять самостоятельно (в отличии от operator=).