Question: what are the main advantages of passing arguments by reference?
Answer: References allow a function to change the value of the argument, which is sometimes useful. ... 
Because a copy of the argument is not made, pass by reference is fast, even when used with large structs or classes.