Bagaimana untuk menggunakan rujukan C++ dan lulus parameter penunjuk?

WBOY
Lepaskan: 2024-04-12 22:21:01
asal
1167 orang telah melayarinya

Rujukan dan penunjuk dalam C++ adalah kedua-dua kaedah untuk menghantar parameter fungsi, tetapi terdapat perbezaan. Rujukan ialah alias untuk pembolehubah Mengubah suai rujukan akan mengubah suai pembolehubah asal, manakala penunjuk menyimpan alamat pembolehubah tidak akan mengubah suai pembolehubah asal. Apabila memilih untuk menggunakan rujukan atau penunjuk, anda perlu mempertimbangkan faktor seperti sama ada pembolehubah asal perlu diubah suai, sama ada nilai nol perlu diluluskan dan pertimbangan prestasi.

如何使用 C++ 引用和指针传参?

Panduan untuk Hantaran Parameter Rujukan dan Penunjuk dalam C++

Dalam C++, rujukan dan penunjuk ialah dua alat berkuasa untuk menghantar parameter fungsi. Mereka menyediakan cara untuk mengubah suai pembolehubah dalam fungsi panggilan dalam fungsi.

Rujukan

Rujukan ialah jenis data C++ yang menyediakan alias kepada pembolehubah lain. Sebaik sahaja rujukan dibuat, sebarang pengubahsuaian kepadanya ditunjukkan dalam pembolehubah asal.

Sintaks:

Type& reference_variable = original_variable;
Salin selepas log masuk

Contoh:

int x = 10;
int& ref_x = x;

ref_x++; // 等同于 x++
cout << x << endl;  // 输出:11
Salin selepas log masuk

Penunjuk (Penunjuk)

Penunjuk ialah jenis data C++ yang menyimpan alamat pembolehubah lain. Pembolehubah primitif boleh diakses dengan menuding dereferencing.

Sintaks:

Type* pointer_variable = &original_variable;
Salin selepas log masuk

Contoh:

int y = 10;
int* ptr_y = &y;

*ptr_y++; // 等同于 y++
cout << y << endl;  // 输出:11
Salin selepas log masuk

Perbezaan parameter

Kaedah lulus Nilai rujukanSalinan alamat Pengubahsuaian pembolehubah asalUbah suai pembolehubah asalBoleh ubah suai pembolehubah atau alamat asalKos aksesRendah (akses terus)Tinggi (memerlukan penyahrujukan)Tiada ingatan fungsi tukaran practical
Ciri-ciriRujukanRujukan
Peruntukkan dinamik memori
Rujukan berterusanTersediaTidak tersedia
Meluluskan nilai nolTiadaOK

Gunakan rujukan untuk melaksanakan pertukaran nilai:

void swap_by_ref(int& a, int& b) {
  int temp = a;
  a = b;
  b = temp;
}
Salin selepas log masuk
Gunakan penunjuk untuk melaksanakan pertukaran nilai:

void swap_by_ptr(int* a, int* b) {
  int temp = *a;
  *a = *b;
  *b = temp;
}
Salin selepas log masuk
Pilih kaedah menghantar parameter

Apabila memilih rujukan atau penunjuk untuk menghantar parameter, sila pertimbangkan faktor berikut:
  • sama ada pembolehubah asal perlu diubah suai :
  • Jika perlu , gunakan rujukan.
  • Adakah anda perlu melepasi nilai nol:
  • Gunakan penunjuk jika perlu.
  • Pertimbangan prestasi:
  • Jika anda perlu mengakses pembolehubah asal dengan kerap, gunakan rujukan.
🎜

Atas ialah kandungan terperinci Bagaimana untuk menggunakan rujukan C++ dan lulus parameter penunjuk?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan