When passing objects to functions, we usually do it by constant reference for efficiency reasons, especially with heavy objects, such as an object that contains a huge vector.
Take the following function declaration as an example: void foo(const ObjType &myObj);
Is it a good practice to do a similar thing when passing basic datatypes (int, char, double, etc.) to functions? Does it increase the efficiency or is the difference negligible? Eg: void boo(const int &x);