Ссылки нужны, если есть указатели, для сокращения синтаксиса и удобства работы со сложными структурами данных. 2 Ссылки позволяют обращаться к уже существующему в памяти объекту под другим именем, что удобно, когда исходное имя слишком громоздко (например, является вложенным полем какой-либо структуры). 1
Также ссылки полезны при передаче переменных в качестве аргументов в другую функцию. 2 В этом случае последняя получает право доступа к исходной переменной вызывающей функции без копирования её значения и может распоряжаться ей как своей собственной переменной. 2
Если нет указателей, то такой язык не давал бы программисту выбора между низкоуровневым и высокоуровневым кодом. 2 В языке C++ есть и ссылки, и указатели, что позволяет программисту писать код на разных уровнях в зависимости от задачи. 25