Il existe bien la solution du passage par référence, mais elle est peu connue et utilisée.
« Mais je n'obtiens pas d'erreur » vous dites-vous ? Détrompez-vous il s'agit simplement d'une extension du compilateur que vous utilisez. Rajoutez-lui l'option de compilation -pedantic(-errors) et il saura vous le dire.
Avant C++17 &arr[0] ou &arr.front() pour la version non constante.