Example 1.
void f(int a);
Example 2 (constant type reference).
void f(const int& a);
Is it better to use the second example because we don't create a copy of an argument object within a function? But why in most cases, even companies, use exactly the first example? I know about big objects - via the second example we can save some memory. I'm asking about ordinary types in c++.