Dalam C++, terdapat dua cara untuk menghantar parameter: lulus mengikut nilai: mencipta salinan parameter dan fungsi mengubah suai salinan tidak menjejaskan parameter asal. Lulus dengan rujukan: Lulus rujukan parameter, dan pengubahsuaian fungsi rujukan akan menjejaskan parameter asal.
Dalam C++, parameter fungsi boleh dihantar ke fungsi dalam dua cara berikut:
Melepasi nilai menghantar salinan argumen kepada fungsi, yang bermaksud bahawa sebarang perubahan yang dibuat oleh fungsi kepada salinan tidak akan menjejaskan hujah asal.
void foo(int x);
在此示例中,x
是按值传递给foo()
函数的。
按引用传递
按引用传递会将参数的引用传递给函数,这意味着函数对引用所做的任何更改也会反映在原始参数中。
语法:
void foo(int &x);
在此示例中,x
是按引用传递给foo()
函数的。
实战案例:
考虑以下代码:
// 按引用传递参数 void swap(int &a, int &b) { int temp = a; a = b; b = temp; } int main() { int x = 1; int y = 2; swap(x, y); std::cout << "x: " << x << std::endl; // 输出: 2 std::cout << "y: " << y << std::endl; // 输出: 1 return 0; }
在这个示例中,swap()
函数按引用接收参数a
和b
,因此对它们的更改会影响原始变量x
和y
Sintaks:
x
dihantar mengikut nilai kepada
foo() code > fungsi. Lulus dengan rujukanLulus melalui rujukan menghantar rujukan parameter kepada fungsi, yang bermaksud bahawa sebarang perubahan yang dibuat oleh fungsi kepada rujukan juga ditunjukkan dalam parameter asal. Sintaks:void foo(int &x);
Dalam contoh ini,x
dihantar dengan merujuk kepadafoo() code > fungsi. Contoh Praktikal: Pertimbangkan kod berikut: rrreeeDalam contoh ini, fungsi swap()
menerima parametera
danb, jadi perubahan padanya mempengaruhi pembolehubah asal x
dany
.
Atas ialah kandungan terperinci Bagaimana untuk lulus parameter fungsi C++?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!