Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk menghantar parameter fungsi dalam C++

Bagaimana untuk menghantar parameter fungsi dalam C++

王林
Lepaskan: 2024-04-13 17:33:01
asal
998 orang telah melayarinya

Terdapat tiga cara untuk menghantar parameter fungsi dalam C++: menghantar salinan mengikut nilai, menghantar rujukan melalui rujukan dan menghantar penunjuk dengan penuding. Melepasi nilai tidak menjejaskan parameter sebenar, lulus melalui rujukan dan penunjuk lakukan.

C++ 函数参数的传递方式

Cara menghantar parameter fungsi dalam C++

Dalam C++, parameter fungsi boleh dihantar melalui rujukan, penunjuk atau nilai. Berikut ialah pengenalan dan contoh praktikal bagi setiap kaedah lulus:

Nilai demi nilai

Lulus salinan hujah fungsi. Sebarang pengubahsuaian pada salinan tidak akan menjejaskan parameter sebenar yang diluluskan.

void swap(int x, int y) {
  int temp = x;
  x = y;
  y = temp;
}

int main() {
  int a = 10, b = 20;
  std::cout << "Before swap: a = " << a << ", b = " << b << std::endl;
  swap(a, b);  // a 和 b 的副本被传给 swap
  std::cout << "After swap: a = " << a << ", b = " << b << std::endl;
  return 0;
}
Salin selepas log masuk

Output:

Before swap: a = 10, b = 20
After swap: a = 10, b = 20
Salin selepas log masuk

Lulus-rujukan

Luluskan rujukan kepada hujah fungsi. Sebarang pengubahsuaian kepada rujukan akan menjejaskan parameter sebenar yang diluluskan.

void swap(int &x, int &y) {
  int temp = x;
  x = y;
  y = temp;
}

int main() {
  int a = 10, b = 20;
  std::cout << "Before swap: a = " << a << ", b = " << b << std::endl;
  swap(a, b);  // a 和 b 的引用被传给 swap
  std::cout << "After swap: a = " << a << ", b = " << b << std::endl;
  return 0;
}
Salin selepas log masuk

Output:

Before swap: a = 10, b = 20
After swap: a = 20, b = 10
Salin selepas log masuk
Salin selepas log masuk

laluan demi-penunjuk

lulus penuding parameter fungsi. Sebarang pengubahsuaian pada memori yang ditunjukkan oleh penunjuk akan menjejaskan parameter sebenar yang diluluskan.

void swap(int *x, int *y) {
  int temp = *x;
  *x = *y;
  *y = temp;
}

int main() {
  int a = 10, b = 20;
  std::cout << "Before swap: a = " << a << ", b = " << b << std::endl;
  swap(&a, &b);  // a 和 b 的指针被传给 swap
  std::cout << "After swap: a = " << a << ", b = " << b << std::endl;
  return 0;
}
Salin selepas log masuk

Output:

Before swap: a = 10, b = 20
After swap: a = 20, b = 10
Salin selepas log masuk
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk menghantar parameter fungsi dalam C++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan