Символ & в С++ имеет два различных смысла в зависимости от места использования:
1) Когда & используется в описании тип - это обозначение того, что тип является ссылочным.
Пример:
int b = 5;
int &a = b; //a - это объект-ссылка тип int. Инициализирован объектом b
2)Когда & применяется к объекту - это оператор взятия адреса.
Пример:
int b = 5;
int * a = &b; //а - это указатель на объект типа int. Инициализирован адресом объекта b