В Інші функції C ++ Reference Аргументи про керівництві Google C ++ Style , я прочитав , що неконстантние посилання не повинні бути використані.
Усі параметри, передані посиланням, повинні бути позначені const.
Зрозуміло, що перегляд функціональних викликів, які використовують посилання як аргументи, абсолютно заплутаний для програмістів на C, але C і C ++ зараз різні мови. Якщо вихідний параметр необхідний , використовуючи покажчик для необхідного вихідного параметра, може викликати все тіло функції повинні бути пропущено, що робить реалізацію функції складнішою (формально збільшує цикломатическая складність і глибину від функції).
Я хотів би зробити код C ++ якомога простішим для розуміння / підтримки, тому мені взагалі цікаво читати посібники зі стилю кодування. Але що стосується адаптації найкращих практик роботи в команді, я вважаю, що розуміння обґрунтування стилів керівних елементів є важливим фактором.
Чи справді такі негативні посилання справді погані? Чи забороняється їм лише Google, або це загальноприйняте правило? Що виправдовує додаткові зусилля для реалізації вихідних параметрів як покажчиків?