In Altre funzionalità di C ++, Argomenti di riferimento della Guida allo stile di Google C ++ , ho letto che i riferimenti non costanti non devono essere utilizzati.
Tutti i parametri passati per riferimento devono essere etichettati const.
È chiaro che guardare le chiamate di funzione che usano i riferimenti come argomenti è assolutamente confuso per i programmatori C, ma C e C ++ ora sono linguaggi diversi. Se è richiesto un parametro di output , usando un puntatore per un parametro di output richiesto, si può saltare l'intero corpo della funzione, il che rende più complicata l'implementazione di una funzione (aumenta formalmente la complessità e la profondità ciclomatica di una funzione).
Vorrei rendere il codice C ++ il più semplice possibile da comprendere / mantenere, quindi sono generalmente interessato a leggere le guide di stile di codifica. Ma per quanto riguarda l'adattamento delle migliori pratiche in una squadra, penso che comprendere la logica alla base degli elementi della guida di stile sia un fattore importante.
I riferimenti non costanti sono davvero così negativi? Il loro divieto è solo specifico di Google o è una regola comunemente accettata? Cosa giustifica lo sforzo extra per l'implementazione dei parametri di output come puntatori?