Ссылка - это абстракция на уровне языка. Это непрозрачный способ наложения переменной на другую. Хотя компилятор скрытно обрабатывает ссылки с использованием указателей, на более высоком уровне это очень разные вещи. С другой стороны, указатели явно используются программистом для достижения косвенности. Переменная-указатель - это переменная, отличная от той, на которую она указывает. Ссылка должна рассматриваться как псевдоним исходной переменной, а не как еще одна переменная, содержащая адрес. Следовательно, псевдоним для псевдонима переменной будет просто псевдонимом самой переменной. Принимая во внимание привязку, ссылка на переменную - вещь времени компиляции, которая может помочь понять причину этого поведения.
Исходя из этого, вы можете утверждать, что, поскольку массивы являются структурами, которые хранят значения, а не переменные, для них не имеет смысла хранить псевдонимы переменных. По сути, ссылочная переменная (под которой я подразумеваю указатель, если он существует, что компилятор может использовать , может использовать для связывания ссылки) невидима для программиста на уровне C ++. Если было возможно объявить массивы ссылок, компилятору, вероятно, потребовалось бы, чтобы постоянные индексы передавались в массивы, чтобы иметь возможность разрешать привязку во время компиляции.