This has been coming up a few times a year for decades.
The C convention is to put the dereference operator next to the variable name (int *a) to show that, when dereferenced, the variable a is of type int.
The C++ convention is to group emphasize the type (int* a) to show that variable a is of type pointer to int. C++ puts more emphasis on type because it's a more strongly-typed language than C, although it's all relative.
People who write C code to be compiled by a C++ compiler usually use the C convention. Bjarne Stroustrup discusses these conventions in his seminal reference work "The C++ Programming Language" (and several other works), why they're used, and which he prefers.
If you're writing C++, I would suggest you lean towards the "std::string const& var" convention, it will make understanding templates and compiler error messages a little easier.