Программирование на C и C++

Онлайн справочник программиста на C и C++

Стиль объявления указателей и ссылок

При объявлении указателей и ссылок некоторые программисты ассоциируют символы * и & с типом, а не с переменной. Например, ниже приведено два эквивалентных объявления:

int& р; // & ассоциирован с типом
int &р; // & ассоциирован с переменной

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

int* а, b;

Здесь только переменная а является указателем на число целого типа, а b служит просто переменной целого типа. Чтобы исключить такие недоразумения, в примерах символы * и & ассоциированы с переменными, а не с их типами.