Parameter Rujukan dalam C : Panduan Komprehensif
Dalam C , parameter rujukan membolehkan anda menghantar argumen kepada fungsi melalui rujukan dan bukannya dengan nilai . Ini membolehkan fungsi memanipulasi pembolehubah asal secara langsung, berpotensi mengubah nilainya.
Mengapa Gunakan Parameter Rujukan?
Parameter rujukan bermanfaat dalam senario berikut:
-
Mengelakkan Pembinaan Salin: Apabila berurusan dengan struktur data yang besar atau kompleks, menyalin keseluruhan objek sebagai hujah boleh menjadi mahal dan memakan masa. Menggunakan parameter rujukan sebaliknya menghapuskan keperluan untuk menyalin, meningkatkan prestasi dengan ketara.
-
Pertukaran Data Berbilang Arah: Parameter rujukan membenarkan data diubah suai di dalam dan di luar fungsi, membolehkan dua- cara pertukaran data. Ini penting apabila anda perlu mendapatkan semula nilai yang diubah suai atau melakukan operasi pada pembolehubah asal.
Cara Menggunakan Parameter Rujukan
Apabila mengisytiharkan parameter fungsi, anda boleh menentukannya sebagai rujukan dengan menambah ampersand (&) sebelum jenis parameter. Sebagai contoh:
void doSomething(int& a, int& b); // Parameters passed by reference
Salin selepas log masuk
Ini menunjukkan bahawa fungsi akan berfungsi secara langsung pada pembolehubah asal yang diluluskan sebagai argumen.
Contoh: Melepasi Argumen melalui Rujukan
Pertimbangkan fungsi berikut:
void swap(int& a, int& b)
{
int temp = a;
a = b;
b = temp;
}
Salin selepas log masuk
Dalam contoh ini, parameter a dan b diluluskan melalui rujukan. Apabila anda memanggil fungsi ini, sebarang perubahan yang dibuat kepada a dan b di dalam fungsi swap akan ditunjukkan dalam pembolehubah asal di luar fungsi.
Perbezaan Antara Melepasi Nilai dan Rujukan
Untuk memahami perbezaan antara lulus dengan nilai dan rujukan, pertimbangkan dua fungsi berikut:
int doSomething(int a, int b); // Parameters passed by value
int doSomething(int& a, int& b); // Parameters passed by reference
Salin selepas log masuk
-
Diluluskan oleh Nilai: Apabila parameter diluluskan oleh nilai , salinan hujah dibuat. Sebarang perubahan yang dibuat pada parameter formal (yang dalam fungsi) hanya mempengaruhi salinan setempat dan bukan pembolehubah asal di luar fungsi.
-
Diluluskan melalui Rujukan: Apabila parameter diluluskan melalui rujukan, fungsi beroperasi secara langsung pada pembolehubah sebenar yang diluluskan sebagai hujah. Sebarang pengubahsuaian yang dibuat kepada parameter formal ditunjukkan dalam pembolehubah asal.
Rujukan lwn. Penunjuk
Rujukan dan penuding mempunyai tujuan yang sama dalam C , tetapi ia mempunyai perbezaan utama:
-
Alias: Rujukan bertindak sebagai alias untuk pembolehubah, menyediakan pautan terus ke objek yang mendasari.
-
Dereferencing: Penunjuk memerlukan penggunaan pengendali nyahrujuk (*) untuk mengakses nilai yang ditunjuk.
-
Pertimbangan Memori: Rujukan biasanya lebih cekap daripada penunjuk, kerana ia tidak memerlukan peruntukan dan deallokasi memori.
Amalan Terbaik
Apabila menggunakan parameter rujukan, pertimbangkan amalan terbaik berikut:
- Gunakan rujukan hanya apabila perlu (iaitu, untuk objek besar atau struktur data, atau untuk mengubah suai argumen di tempatnya).
- Gunakan kata kunci const untuk menunjukkan bahawa rujukan tidak seharusnya mengubah suai pembolehubah asal.
- Berhati-hati dengan potensi untuk berjuntai rujukan (rujukan kepada objek yang telah dimusnahkan).
Atas ialah kandungan terperinci Apakah Parameter Rujukan dalam C dan mengapa ia digunakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!