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.
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; }
Output:
Before swap: a = 10, b = 20 After swap: a = 10, b = 20
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; }
Output:
Before swap: a = 10, b = 20 After swap: a = 20, b = 10
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; }
Output:
Before swap: a = 10, b = 20 After swap: a = 20, b = 10
Atas ialah kandungan terperinci Bagaimana untuk menghantar parameter fungsi dalam C++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!