При объявлении указателей и ссылок некоторые программисты ассоциируют символы * и & с типом, а не с переменной. Например, ниже приведено два эквивалентных объявления:
int& р; // & ассоциирован с типом
int &р; // & ассоциирован с переменной
Ассоциирование символов * или & с типом выражает желание некоторых программистов, пишущих на языке С++, иметь отдельный тип ссылочного типа или тип указателя. Однако компилятор относит символы * и & к имени переменной, а не к типу. В результате могут возникнуть недоразумения. Рассмотрим в качестве примера следующее объявление:
int* а, b;
Здесь только переменная а является указателем на число целого типа, а b служит просто переменной целого типа. Чтобы исключить такие недоразумения, в примерах символы * и & ассоциированы с переменными, а не с их типами.