Да, это сбивает с толку.C ++ массово перегружает каждый символ, потому что на клавиатуре недостаточно символов.
Амперсанд &
используется для двух разных значений, которые концептуально схожи, но на самом деле совершенно разные языковые возможности.
Значение 1: Объявление ссылочного типа.Добавьте амперсанд к типу А, что означает «ссылка на тип А».Пример:
Stock x;
Stock& s = x; // now s is a reference to x
Значение 2: Адрес оператора.Унарный оператор, который возвращает указатель на свой аргумент.Пример:
Stock x;
Stock* s = &x; // now s a pointer to x
Напоминание: ссылки и указатели - это одно и то же, за исключением того, что они имеют разный синтаксис, и ссылки никогда не могут быть нулевыми, а ссылка на ссылку не может быть.
Не удаляйте эту тему, мы любим n00bs.Я сам n00b.