Тут скорее вопрос по с++, но аналогичный код на расте выдаст ошибку. На с++ покажет 0, пытаюсь понять почему
Ты не понимаешь кое что, от этого все ломается. Первый вопрос, для чего нужны ссылки? Да, там о вещают про гарантию инициализации и тд, но в реальности одна из главных причин оператор [], ты не можешь сделать того же с указателем. Но ссылки не гарантируют, что они не могут инвалидироваться со временем и стать висячими dangling, проблема в auto, требуется копировать объект или можно ввести другой способ обеспечения связывания, по id к примеру, или обновлять указатели при релокации