Core guidelines recommend passing objects to functions differently based on whether they are 'cheaply copyable'. Last year, Herb Sutter put a spotlight on the importance of simple and correct methodology for such argument passing.
In this talk, I will present the considerations for passing input arguments to functions. I will introduce and examine guidelines, describe their reasoning and present benchmarks that emphasize the importance of this topic. Special attention will be given to the notion of aliasing, which is often overlooked.