Rumah > Artikel > pembangunan bahagian belakang > Penggunaan lanjutan parameter rujukan dan parameter penunjuk dalam fungsi C++
Parameter rujukan dalam fungsi C++ (pada asasnya alias pembolehubah, mengubah suai rujukan mengubah suai pembolehubah asal) dan parameter penunjuk (menyimpan alamat memori pembolehubah asal, mengubah suai pembolehubah dengan membatalkan penunjuk) mempunyai penggunaan yang berbeza apabila menghantar dan mengubah suai pembolehubah. Parameter rujukan sering digunakan untuk mengubah suai pembolehubah asal (terutamanya struktur besar) untuk mengelakkan overhed salinan apabila diserahkan kepada pembina atau pengendali tugasan. Parameter penunjuk digunakan untuk secara fleksibel menunjuk ke lokasi memori, melaksanakan struktur data dinamik, atau menghantar penunjuk nol untuk mewakili parameter pilihan.
Penggunaan lanjutan parameter rujukan dan parameter penunjuk dalam fungsi C++
Dalam fungsi C++, parameter rujukan dan parameter penunjuk membenarkan pembolehubah diluluskan dan diubah suai dengan cara yang berbeza. Adalah penting untuk memahami perbezaan mereka dan menggunakannya dengan sewajarnya.
Parameter rujukan
Parameter rujukan pada asasnya ialah alias untuk pembolehubah. Sebarang perubahan yang dibuat pada parameter rujukan ditunjukkan dalam pembolehubah asal.
Sintaks:
void func(int& ref_param) { ref_param++; // 修改引用参数会修改原始变量 }
Parameter penuding
Parameter penuding menyimpan alamat memori pembolehubah asal. Pembolehubah asal boleh diakses dan diubah suai melalui penunjuk, tetapi salinan tidak dibuat.
Sintaks:
void func(int* ptr_param) { *ptr_param++ // 通过解引用指针可以修改原始变量 }
Senario penggunaan
Parameter rujukan:
Parameter penunjuk:
Kes praktikal:
Gunakan parameter rujukan untuk menukar dua nombor
void swap(int& a, int& b) { int temp = a; a = b; b = temp; }
parameter penuding tatasusunan penggunavoid printArray(int* arr, int n)
{
for (int i = 0; i < n; i++)
{
cout << arr[i] << " ";
}
cout << endl;
}
Atas ialah kandungan terperinci Penggunaan lanjutan parameter rujukan dan parameter penunjuk dalam fungsi C++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!