
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
хотя я и там умудрился намазать.
В приличном обществе _check(a) был бы методом, я правильно понимаю?
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Как помочь студентке по инфо-тематике?
Vladimir Simakov, 2024.12.13 16:53
function-like macros
Наверное, _check мог бы послужить хрестоматийным примером function-like macros😄
Лично мне иногда просто не хочется раздувать класс дополнительным методом, из-за чего я злоупотребляю макросами.
если реально боишься когда-либо забыть в двух местах проапгрейдить, данные оборачиваются в структуру, а у структуры делается два конструктора, один копированием, в котором this = other, а вот другой, тот, который все значения должен принять. Соответственно, проапгрейдить тебе нужно только параметрический конструктор структуры, а дальше уже компилятор тебе на все места укажет.
Не очень понимаю, о чем вы говорите. Не могли бы вы показать небольшой пример?
Я в свое время когда боялся забыть проапгрейдить делал примерно так:
Но позже перестал так делать - не очень удобно и поля нельзя сделать константными (я понимаю, что можно саму структуру потом константным полем сделать).
P.S.
Я, кажется, понял:
Но неявно перегруженный operator= мне тоже страшновато использовать😄 А явно перегрузить - возврат к первому коду этого поста, грубо говоря.
P.S.2
Да, если захочется явно перегрузить, то вся защита нивелируется.
С явно перегруженным остается только к assign() возвращаться:
Ну или...😄😄😄
#define _assign
Vladislav Boyko #:
Я, кажется, понял:
В контексте MQL может иметь смысл.
C++, на сколько я понимаю, умеет генерировать неявный конструктор копирования; в этом случае вызов неявного operator= из явного конструктора копирования мне непонятен - можно ведь просто неявным конструктором копирования пользоваться. Но я не знаю C++, возможно я заблуждаюсь.