Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk menggunakan rujukan C++ dan lulus parameter penunjuk?

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

WBOY
WBOYasal
2024-04-12 22:21:011197semak imbas

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;

Contoh:

int x = 10;
int& ref_x = x;

ref_x++; // 等同于 x++
cout << x << endl;  // 输出:11

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;

Contoh:

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

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

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-ciri Rujukan Rujukan
Peruntukkan dinamik memori
Rujukan berterusan Tersedia Tidak tersedia
Meluluskan nilai nol Tiada OK

Gunakan rujukan untuk melaksanakan pertukaran nilai:

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

void swap_by_ptr(int* a, int* b) {
  int temp = *a;
  *a = *b;
  *b = temp;
}

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!

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