
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
В объяснении irusoh1 не хватает того, что переменная должна быть массивом (массивами) [...].
irusoh1 прав: переменная не обязательно должна быть массивом. Например:
Мне нужно вернуть 2 результата из одной функции.
Если два (или более) результата должны быть присвоены переменным, просто объявите их глобальными и присвойте им значения в функции.
Хорошей практикой программирования считается минимизация количества глобальных переменных. Лучше передавать некоторые переменные по ссылке (если нужно вернуть более одной переменной), чем объявлять их в глобальной области видимости.
irusoh1 прав: переменная не обязательно должна быть массивом. Например:
Тогда моя формулировка и концепция неверна в ответе на тему. Тем не менее, я вижу цель передачи по ссылке - это, по сути, практический способ манипулирования массивом (массивами) с помощью функции.
Использование переданного параметра в качестве ссылки функции на переменные имеет только практическую возможность модифицировать X количество переменных, плюс одну переменную с возвратом.
В то время как использование его для массива позволяет модифицировать X количество массивов в скобках, умноженное на Y размеров каждого массива.
Массивы всегда передаются по ссылке. Проблема с массивами MQL в том, что их нельзя изменить внутри функции (например, изменить размер), только их члены.
Это не имеет смысла и ограничивает возможности работы с массивами.
Может быть, это было исправлено в MQL5?
[...] Проблема с массивами MQL в том, что их нельзя изменить внутри функции (например, изменить размер), только их члены.
@ irusoh1 : Вы имеете ввиду сделать параметры функции динамическими? Я тоже не понимаю.
@ Gordon : Знаете, почему говорят "параметры передаются по значению. Массивы могут быть переданы только по ссылке". Я знаю, как это будет выглядеть в коде, но я не понимаю смысла. Например, есть ли в других языках случаи, когда это не так? То есть, массивы передаются по значению или что-то в этом роде. Я не знаю, что будет противоположным этому правилу,
cameofx:
@ Gordon : Знаете ли вы, почему они говорят 'параметры передаются по значению. Массивы могут быть переданы только по ссылке". Я знаю, как это будет выглядеть в коде, но я не понимаю причины. Например, есть ли в других языках случаи, когда это не так? То есть, массивы передаются по значению или что-то в этом роде. Я не знаю, что будет противоположным этому правилу,
Привет всем
Gordon сказал: Считается хорошей практикой программирования минимизировать количество глобальных переменных. Лучше передавать некоторые переменные по ссылке (если нужно вернуть более одной переменной), чем объявлять их в глобальной области видимости.
Извините, но это не "технический" ответ :) Не могли бы вы сказать, почему лучше передавать переменную по ссылке, а не глобальную переменную?
спасибо
Филипп