Dalam Fitur C ++ Lainnya, Argumen Referensi dari Panduan Gaya Google C ++ , saya membaca bahwa referensi non-const tidak boleh digunakan.
Semua parameter yang dilewati oleh referensi harus diberi label const.
Jelas bahwa melihat pemanggilan fungsi yang menggunakan referensi sebagai argumen benar-benar membingungkan bagi programmer C, tetapi C dan C ++ adalah bahasa yang berbeda sekarang. Jika parameter output diperlukan , menggunakan pointer untuk parameter output yang diperlukan, dapat menyebabkan seluruh fungsi tubuh dilewati, yang membuat implementasi fungsi lebih rumit (secara formal meningkatkan kompleksitas siklomatik dan kedalaman fungsi).
Saya ingin membuat kode C ++ semudah memahami / mempertahankan mungkin, jadi saya umumnya tertarik untuk membaca panduan gaya pengkodean. Tetapi untuk mengadaptasi praktik terbaik dalam sebuah tim, saya pikir memahami alasan di balik elemen panduan gaya adalah faktor penting.
Apakah referensi non-const benar-benar buruk? Apakah melarangnya hanya khusus Google atau itu aturan yang diterima secara umum? Apa yang membenarkan upaya ekstra untuk mengimplementasikan parameter output sebagai pointer?