Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
В последнее время в функциях разных компиляторов начал встречать какой то "сбор мусора". Что это такое?
тут уже от языка будет зависеть, в шарпе, как я понял нельзя.
так и есть, все что можно сделать это неиспользуемый обьект присвоить NULL, есть вроде мануалы на сайте Майкрософт как принудительно вызвать сборщик мусора, но кажется на хабре читал, что не факт что сборщик будет запущен именно в этот вызов как ожидалось
т.е. в Шарпе максимально забрали управление памятью у программиста - все на откуп ОС и компилятору отдали
так и есть, все что можно сделать это неиспользуемый обьект присвоить NULL, есть вроде мануалы на сайте Майкрософт как принудительно вызвать сборщик мусора, но кажется на хабре читал, что не факт что сборщик будет запущен именно в этот вызов как ожидалось
т.е. в Шарпе максимально забрали управление памятью у программиста - все на откуп ОС и компилятору отдали
Вот вот. Сейчас первый таск на шарпе пилю, так после new в методе, аж жуть берет от отсутствия delete в коде))).
пишите вместо delete MyObj; так MyObj = null; - это будет работать
ну и тогда используйте оператор ?? - поначалу как то не привычно было, потом на автомате пишется
но это не самое большое отличие от С++, в C# все обьекты это ссылки, и если присвоить MyObj_1=MyObj_2; то это не копирование, а получили указатель... в общем сейчас запутаю Вас, вот мануал краткий , я там подглядываю если что забыл
https://metanit.com/sharp/tutorial/2.16.php
Кажется я начинаю понимать необходимость и пользу ООП, но затрудняюсь в реализации.
Имеется класс который должен использоваться с тремя разными наборами переменных. Но выполняет одну задачу. По простому, можно вставить 3 конструктора, объявить 3 переменных и обращаться к ним. Но, как я понимаю это не совсем грамотно. Плюс ко всему в двух вариантах одна из переменных типа string но разные по имени и используются в разных частях кода. Конечно можно изменить последовательность переменных, но и это, как я понимаю это не совсем грамотно.
Читаю документацию об операторе new но не понимаю как он может помочь в этой ситуации. Не вижу разницы между тремя разными переменными объекта и тремя указателями на такие-же объекты. Наверное это выгодно когда один раз создал указатель, использовал этот объект и удалил его за ненадобностью. Но если объект нужен периодически, то создавать на него указатель каждый раз и удалять совсем глупо.
В общем прошу помощи. Читал какие-то объяснения по ООП в С++ но там ещё хуже описывается чем в документации по mql5. Нетерпеливых прошу не встревать, я буду много переспрашивать. Готовый код без объяснений тоже не интересует, я хочу разобраться в этом, а не тупо повторить "Делай с нами, делай как мы..."
Кажется я начинаю понимать необходимость и пользу ООП, но затрудняюсь в реализации.
Имеется класс который должен использоваться с тремя разными наборами переменных. Но выполняет одну задачу. По простому, можно вставить 3 конструктора, объявить 3 переменных и обращаться к ним. Но, как я понимаю это не совсем грамотно. Плюс ко всему в двух вариантах одна из переменных типа string но разные по имени и используются в разных частях кода. Конечно можно изменить последовательность переменных, но и это, как я понимаю это не совсем грамотно.
Читаю документацию об операторе new но не понимаю как он может помочь в этой ситуации. Не вижу разницы между тремя разными переменными объекта и тремя указателями на такие-же объекты. Наверное это выгодно когда один раз создал указатель, использовал этот объект и удалил его за ненадобностью. Но если объект нужен периодически, то создавать на него указатель каждый раз и удалять совсем глупо.
В общем прошу помощи. Читал какие-то объяснения по ООП в С++ но там ещё хуже описывается чем в документации по mql5. Нетерпеливых прошу не встревать, я буду много переспрашивать. Готовый код без объяснений тоже не интересует, я хочу разобраться в этом, а не тупо повторить "Делай с нами, делай как мы..."
Нужны подробности. Какую задачу выполняет класс?
Нужны подробности. Какую задачу выполняет класс?
Не секрет, выборка событий экономического календаря CalendarValueHistory(). В одном случае все новости в диапазоне времени. В другом по стране и другому диапазону времени. В третьем по символу. Но разве есть принципиальная разница? Разве на лекциях по программированию делят решения по типу выполняемых задач?
Я недавно встречал такого, который не сдал экзамен по вождению и возмущаясь говорил, что по этому перекрёстку они на занятиях по вождению не ездили и он просто не знает как на этом перекрёстке надо ехать.
В другом по стране и другому диапазону времени.
страны в enum
в конструкторе даже через обычный switch - case выполните инициализацию как Вам нужно, я выше показывал шаблон с интерфейсами, я так же в конструкторе инициализирую в зависимости от параметров одну из стратегий, а вся остальная работа сводится к написанию конкретной стратегии
https://www.mql5.com/ru/forum/85652/page24#comment_13054686
страны в enum
в конструкторе даже через обычный switch - case выполните инициализацию как Вам нужно, я выше показывал шаблон с интерфейсами, я так же в конструкторе инициализирую в зависимости от параметров одну из стратегий, а вся остальная работа сводится к написанию конкретной стратегии
https://www.mql5.com/ru/forum/85652/page24#comment_13054686
Тоска... Тут ещё и шаблоны с интерфейсами надо осваивать???