Esto finalmente termina siendo subjetivo. La discusión hasta el momento es útil, pero no creo que haya una respuesta correcta o decisiva a esto. Mucho dependerá de las pautas de estilo y sus necesidades en ese momento.
Si bien hay algunas capacidades diferentes (si algo puede ser NULO o no) con un puntero, la mayor diferencia práctica para un parámetro de salida es puramente sintaxis. La Guía de estilo C ++ de Google ( https://google.github.io/styleguide/cppguide.html#Reference_Arguments ), por ejemplo, exige solo punteros para los parámetros de salida y solo permite referencias que sean constantes. El razonamiento es de legibilidad: algo con sintaxis de valor no debe tener un significado semántico de puntero. No estoy sugiriendo que esto sea necesariamente correcto o incorrecto, pero creo que el punto aquí es que es una cuestión de estilo, no de corrección.