Rumah >pembangunan bahagian belakang >C++ >Bilakah Anda Harus Menggunakan Rujukan lwn. Penunjuk dalam C ?

Bilakah Anda Harus Menggunakan Rujukan lwn. Penunjuk dalam C ?

Barbara Streisand
Barbara Streisandasal
2024-11-20 14:45:17519semak imbas

When Should You Use References vs. Pointers in C  ?

Memahami Melepasi Rujukan dan Penunjuk dalam C

Dalam C , menghantar argumen kepada fungsi melalui rujukan atau penunjuk ialah amalan biasa untuk mengubah suai nilai sebenar di luar skop fungsi . Walau bagaimanapun, memahami masa untuk menggunakan yang boleh mengelirukan.

Melalui Rujukan

Melalui rujukan membenarkan akses terus dan pengubahsuaian pembolehubah asal. Ia berguna untuk:

  • Memutasi objek besar (cth., rentetan, vektor) untuk mengelakkan penyalinan yang tidak perlu.
  • Melalukan argumen masuk-keluar yang kedua-dua fungsi menggunakan pembolehubah yang sama.

Melalui Penunjuk

Melalui penuding menyediakan akses tidak langsung kepada pembolehubah melalui penuding. Ia perlu apabila:

  • Penunjuk perlu dimanipulasi (cth., menugaskan semula kepada objek baharu).
  • Meluluskan nilai nol, yang tidak dibenarkan untuk rujukan.
  • Menghalang pengubahsuaian pembolehubah asal (lulus penunjuk const).

Amalan Baik

Sebagai garis panduan umum, adalah disyorkan untuk menggunakan rujukan apabila:

  • Anda mahu mengubah pembolehubah asal.
  • Anda mempunyai nilai bukan nol untuk dihantar.
  • Pembolehubah asal tidak terlalu besar.

Gunakan penunjuk apabila:

  • Anda perlu memanipulasi alamat pembolehubah.
  • Anda mempunyai nilai nullable.
  • Anda mahu menghalang pengubahsuaian pembolehubah asal.

Contoh

Coretan berikut menunjukkan senario biasa di mana rujukan digunakan untuk menghantar objek besar:

Atas ialah kandungan terperinci Bilakah Anda Harus Menggunakan Rujukan lwn. Penunjuk dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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