Ini akhirnya menjadi subyektif. Diskusi sejauh ini bermanfaat, tetapi saya tidak berpikir ada jawaban yang benar atau menentukan untuk ini. Banyak yang akan tergantung pada pedoman gaya dan kebutuhan Anda saat itu.
Meskipun ada beberapa kemampuan yang berbeda (apakah sesuatu bisa NULL atau tidak) dengan sebuah pointer, perbedaan praktis terbesar untuk parameter output adalah murni sintaksis. Panduan Gaya C ++ Google ( https://google.github.io/styleguide/cppguide.html#Reference_Arguments ), misalnya, mandat hanya pointer untuk parameter output, dan hanya memperbolehkan referensi yang konst. Alasannya adalah salah satu keterbacaan: sesuatu dengan sintaks nilai seharusnya tidak memiliki makna semantik pointer. Saya tidak menyarankan bahwa ini benar atau salah, tetapi saya pikir intinya di sini adalah masalah gaya, bukan kebenaran.