![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
POINTER_INVALID равен 0. Поэтому код !CheckPointer(element) - правильный. Только не канонический))
Так-то правильно говоришь, сам тоже так делаю. Но не дай боже разрабам, при очередном рефакторинге, придет умная мысль сделать POINTER_INVALID=-1))) По аналогии, например, с INVALID_HANDLE_VALUE
В один из них можно передать динамически созданный объект, а в другой - автоматически созданный.
В оба можно и тот, и тот передать.
В оба можно и тот, и тот передать.
Не оба.
Да и там в библиотеке имена у методов одинаковые, поэтому не получится самому решить куда что передавать, перегрузка сработает.Не оба.
Это жульничество. О том что можно получить указатель на автоматический объект знаю, и как его получить тоже знаю. Смыл в том, что есть два перегруженных метода, чтобы программист, использующий этот класс, не задумывался, что он туда передает.
Это жульничество. Смыл в том, что есть два перегруженных метода, чтобы программист, использующий этот класс, не задумывался, что он туда передает.
Для либы это вот так делается:
UPD: заодно и проверил, будет ли вызван деструктор автоматически созданного объекта, при вызове delete по его дескриптору. Не будет. Просто в плюсах - это ub.Для либы это вот так делается:
И вот тут можно обнаружить, что автоматический объект уходит в метод с &, а динамический в метод с *
B djn
И вот тут можно обнаружить, что автоматический объект уходит в метод с &, а динамический в метод с *
Естественно. Для компилятора A и A*, вообще-то - два разных типа данных)))
Вот это да! Вот это открытие!!!