What is the purpose of having parameters as call-by-value when it is more efficient to use call-by-reference? (For non-primitive data types.)
Also, what if one was to add the const tag to call-by-reference parameters so that they won't be modified?
Is there a situation where its beneficial to use call-by-value as opposed to call-by-reference?