Dalam C++, parameter yang dihantar kepada fungsi boleh dibahagikan kepada hantaran nilai dan hantaran rujukan. Terdapat dua jenis parameter rujukan: rujukan salinan cetek dan rujukan salinan dalam. Rujukan salinan cetek menghantar rujukan itu sendiri kepada fungsi, membenarkan fungsi mengubah suai objek asal. Rujukan salinan mendalam menghantar salinan objek yang dirujuk oleh parameter rujukan Pengubahsuaian kepada salinan oleh fungsi tidak akan menjejaskan objek asal. Gunakan rujukan salinan cetek apabila fungsi perlu mengubah suai objek, dan juga gunakan rujukan salinan cetek apabila mengelakkan salinan yang tidak perlu. Rujukan salinan dalam digunakan apabila fungsi tidak boleh mengubah suai objek atau apabila objek tidak boleh diubah.
Dalam C++, terdapat dua jenis parameter utama yang dihantar ke fungsi: lulus mengikut nilai dan lulus melalui rujukan. Parameter rujukan berfungsi dengan menghantar rujukan kepada objek atau pembolehubah, bukannya salinannya, berbeza dengan lulus mengikut nilai.
Terdapat dua jenis parameter rujukan:
Imej berikut menunjukkan perbezaan antara dua jenis parameter rujukan:
// 浅拷贝引用 void shallow_copy(int& a) { a++; } // 深拷贝引用 void deep_copy(const int& a) { int b = a; b++; } int main() { int x = 5; // 浅拷贝引用示例 shallow_copy(x); // 改变 x 的值 cout << "x after shallow copy: " << x << endl; // 输出 6 // 深拷贝引用示例 deep_copy(x); // 不改变 x 的值 cout << "x after deep copy: " << x << endl; // 输出 5 return 0; }
Rujukan salinan cetek berguna dalam situasi berikut:
Rujukan salinan dalam berguna dalam situasi berikut:
Atas ialah kandungan terperinci Penjelasan terperinci tentang parameter fungsi C++: perbezaan antara salinan parameter rujukan yang gelap dan cetek. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!