Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
вообще уже не первый раз ловлю себя на мысли, что в MQL ООП лучше использовать только в случае острой необходимости и только в конкретном участке кода.
где то читал, да и вот на форуме появился пример с такой конструкцией
простой пример может кто сделать с этим ?
интересует вопрос, что удаляет этот delete &this;
где то читал, да и вот на форуме появился пример с такой конструкцией
простой пример может кто сделать с этим ?
интересует вопрос, что удаляет этот delete &this;
Сам себя удаляет)))
Сам себя удаляет)))
это логично
но подозреваю, что весь смысл - использование со статическими методами
тестить нужно, правда не придумал как, вот и спросил
UPD: вчера бегло гуглил эту тему, много упоминаний на приватный деструктор, тож подумать нужно, что это дать может
1) но подозреваю, что весь смысл "delete &this;" - использование со статическими методами
2) вчера бегло гуглил эту тему, много упоминаний на приватный деструктор, тож подумать нужно, что это дать может
1) Из статических методов запрещен доступ к this.
Где приметяют "delete &this;" - https://stackoverflow.com/questions/447379/what-is-the-use-of-delete-this
2) Приватный дестуктор запрещает создавать объект на стеке, однако по прежднему через оператор new объект можно создать, на этот раз в куче:
Вот вам и еще одно исопльзование delete &this.
1) Из статических методов запрещен доступ к this.
Где приметяют "delete &this;" - https://stackoverflow.com/questions/447379/what-is-the-use-of-delete-this
2) Приватный дестуктор запрещает создавать объект на стеке, однако по прежднему через оператор new объект можно создать, на этот раз в куче:
Вот вам и еще одно исопльзование delete &this.
Что-то с чем-то всегда можно сделать. А смысл?
Надо бы придумать название, объявить это паттерном проектирования... и вот тогда. Это же так круто - вместо одного "delete что-то" написать кучу кода.
где то читал, да и вот на форуме появился пример с такой конструкцией
простой пример может кто сделать с этим ?
интересует вопрос, что удаляет этот delete &this;
this - это указатель на текущий объект.
Обычно конструкция delete this применяется там, где объект создан по new, но ответственность за удаление лежит на самом объекте. В этом случае, когда объект решает, что он больше не нужен, он вызывает функцию деиницализации, в которой удаляет самого себя таким вот образом.
На мой взгляд, это крайне опасная практика, допустимая только в случае смартпоинтеров, которые сами будут считать ссылки, на объект, и потом, когда число ссылок становится равным нулю - могут удалить сами себя. Но даже в этом случае, как мне кажется, здесь есть простор для трудноуловимых ошибок утечки памяти.
На мой взгляд, ответственность за удаление должно лежать на том же объекте, который создал. При создании он может пользоваться паттерном фабрики объектов, но удаление - все равно должно быть в ведении объекта, создавшего новый объект.