Isso é um pouco subjetivo, eu acho; Não tenho certeza se a opinião será unânime (já vi muitos trechos de código em que as referências são retornadas).
De acordo com um comentário sobre essa pergunta que acabei de fazer, em relação à inicialização de referências , o retorno de uma referência pode ser ruim porque, como eu entendo, fica mais fácil deixar de excluí-la, o que pode levar a vazamentos de memória.
Isso me preocupa, pois tenho seguido exemplos (a menos que esteja imaginando coisas) e feito isso em poucos lugares ... Entendi mal? Isso é mau? Se sim, quão mal?
Eu sinto que, por causa do meu pacote misto de ponteiros e referências, combinado com o fato de eu ser novo em C ++, e total confusão sobre o que usar quando, meus aplicativos devem ser um inferno de vazamento de memória ...
Além disso, entendo que o uso de ponteiros inteligentes / compartilhados geralmente é aceito como a melhor maneira de evitar vazamentos de memória.