Bagaimana untuk lulus parameter fungsi C++?

王林
Lepaskan: 2024-04-18 21:45:02
asal
449 orang telah melayarinya

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.

C++ 函数的参数如何传递?

Cara menghantar parameter fungsi dalam C++

Dalam C++, parameter fungsi boleh dihantar ke fungsi dalam dua cara berikut:

  • Lewati nilai
  • Lewati nilai rujukan

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; }
Salin selepas log masuk

在这个示例中,swap()函数按引用接收参数ab,因此对它们的更改会影响原始变量xySintaks:

void foo(int x);Dalam contoh ini, xdihantar 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,xdihantar dengan merujuk kepadafoo() code > fungsi. Contoh Praktikal: Pertimbangkan kod berikut: rrreeeDalam contoh ini, fungsi swap()menerima parameteradanb, jadi perubahan padanya mempengaruhi pembolehubah asal xdany.

Atas ialah kandungan terperinci Bagaimana untuk lulus parameter fungsi C++?. 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
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!