¿Hay beneficios de pasar por puntero sobre pasar por referencia en C ++?

¿Cuáles son los beneficios de pasar por puntero sobre pasar por referencia en C ++?

Últimamente, he visto una serie de ejemplos que eligieron pasar argumentos de función por punteros en lugar de pasar por referencia. ¿Hay beneficios al hacer esto?

Ejemplo:

func(SPRITE *x);

con una llamada de

func(&mySprite);

vs.

func(SPRITE &x);

con una llamada de

func(mySprite);

Respuestas a la pregunta(6)

Su respuesta a la pregunta