Em Outros recursos do C ++, argumentos de referência do Guia de estilos do Google C ++ , li que referências não-const não devem ser usadas.
Todos os parâmetros passados por referência devem ser rotulados como const.
É claro que observar chamadas de função que usam referências como argumentos é absolutamente confuso para programadores em C, mas C e C ++ são linguagens diferentes agora. Se um parâmetro de saída for necessário , o uso de um ponteiro para um parâmetro de saída necessário pode fazer com que todo o corpo da função seja ignorado, o que dificulta a implementação de uma função (aumenta formalmente a complexidade ciclomática e a profundidade de uma função).
Gostaria de tornar o código C ++ o mais fácil de entender / manter possível, por isso geralmente estou interessado em ler os guias de estilo de codificação. Mas, para adaptar as melhores práticas em uma equipe, acho que entender a lógica por trás dos elementos do guia de estilo é um fator importante.
As referências não constantes são realmente tão ruins? A proibição é apenas específica do Google ou é uma regra comumente aceita? O que justifica o esforço extra para implementar parâmetros de saída como ponteiros?