Rumah > pembangunan bahagian belakang > C++ > Penunjuk lwn Rujukan: Bila Perlu Menggunakan Setiap Dalam Parameter Fungsi?

Penunjuk lwn Rujukan: Bila Perlu Menggunakan Setiap Dalam Parameter Fungsi?

Barbara Streisand
Lepaskan: 2024-11-02 20:34:03
asal
411 orang telah melayarinya

Pointers vs. References: When to Use Each in Function Parameters?

Petunjuk lwn. Rujukan dalam Hantaran Parameter

Mengenai penunjuk dan rujukan sebagai parameter fungsi, coretan kod yang disediakan memang mempunyai persamaan fungsi:

int foo(bar* p) {
  return p->someInt();
}
Salin selepas log masuk

dan

int foo(bar& r) {
  return r.someInt();
}
Salin selepas log masuk

Walau bagaimanapun, terdapat perbezaan yang ketara antara kedua-duanya:

  • Null Pointers: Parameter penunjuk membenarkan untuk melepasi nullptr, manakala parameter rujukan tidak boleh ditetapkan nullptr.
  • Pengoptimuman: Dalam kes tertentu, pengkompil boleh mengoptimumkan parameter rujukan berbanding penunjuk, mengurangkan overhed.

Dalam C , rujukan sengaja tidak dilaksanakan secara eksplisit dengan penunjuk. Sebaliknya, ia berfungsi sebagai "sinonim" untuk pembolehubah yang dirujuk. Konsep ini membolehkan pengoptimuman pengkompil di mana penunjuk tidak diperlukan.

Perbezaan ketara lain antara penunjuk dan rujukan termasuk:

  • Tidak boleh menetapkan semula: Rujukan tidak boleh ditetapkan semula, manakala penunjuk boleh.
  • Alamat: Mengambil alamat penuding mengembalikan alamat penuding itu sendiri, manakala mengambil alamat rujukan mengembalikan alamat objek yang dirujuk.

Atas ialah kandungan terperinci Penunjuk lwn Rujukan: Bila Perlu Menggunakan Setiap Dalam Parameter Fungsi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan