Некоторые преимущества передачи параметров по ссылке вместо передачи по значению:
- Эффективность при передаче больших объектов. metanit.com При передаче по ссылке не происходит копирования значений, а функция использует сам объект, а не его значение. metanit.com Это увеличивает производительность программы. metanit.com
- Возможность возвратить из функции сразу несколько значений. metanit.com Передача по ссылке позволяет это, так как ссылка становится альтернативным именем аргумента, и любые действия, выполняемые со ссылкой в теле функции, мгновенно отражаются на состоянии аргумента. intuit.ru
- Исключение нежелательных преобразований типов. metanit.com При передаче параметров по ссылке неявные автоматические преобразования типов исключены. metanit.com
- Передача модифицированных данных из функции в вызывающий код. www.mql5.com Это полезно, когда возврата отдельного значения с помощью return недостаточно. www.mql5.com
Передача по значению, в свою очередь, больше подходит для передачи в функцию небольших объектов, значения которых копируются в определённые участки памяти. metanit.com