Тут есть немного недопонимания. Под
выделением памяти обычно подразумевают её
выделение в динамической памяти, в то время как переменные и аргументы живут в
стековой памяти.
А теперь, отвечая на ваш вопрос:
- Да, &str - это действительно лишь адрес байтов и длина среза, на который адрес ссылается.
- Нет, динамическая память при этом не выделяется, т.к. хранение на стеке предсказуемо, однозначно и достаточно для этого случая.