Mekanisme panggilan fungsi dalam C++ melibatkan menghantar argumen kepada fungsi dan melaksanakan kodnya, mengembalikan hasilnya jika wujud. Terdapat dua cara untuk lulus parameter: lulus mengikut nilai (pengubahsuaian dibuat di dalam fungsi) dan lulus melalui rujukan (pengubahsuaian ditunjukkan dalam pemanggil). Dalam nilai lulus, pengubahsuaian nilai dalam fungsi tidak menjejaskan nilai asal (seperti printValue), manakala pengubahsuaian dalam rujukan lulus mempengaruhi nilai asal (seperti printReference).
Penjelasan terperinci tentang mekanisme panggilan fungsi C++
Pengenalan
Dalam C++, panggilan fungsi ialah mekanisme yang membolehkan atur cara melaksanakan tugas tertentu dengan menghantar parameter. Panggilan fungsi melibatkan langkah berikut:
Melepasi nilai dan lulus melalui rujukan
Terdapat dua mekanisme lulus parameter dalam C++:
Panggil fungsi mengikut nilai
void printValue(int value) { value++; // 对 value 的修改不会影响调用者传递的原始值 } int main() { int num = 10; printValue(num); cout << num << endl; // 输出 10 }
Panggil fungsi dengan rujukan
void printReference(int &value) { value++; // 对 value 的修改会影响调用者传递的原始值 } int main() { int num = 10; printReference(num); cout << num << endl; // 输出 11 }
Kes praktikal
Andaikan kita mempunyai fungsi yang mencari kod yang paling biasa (G.doCD). :
int gcd(int a, int b) { if (b == 0) { return a; } return gcd(b, a % b); }
Memanggil fungsi gcd mengikut nilai:
int main() { int a = 10, b = 12; int gcdValue = gcd(a, b); cout << "GCD: " << gcdValue << endl; // 输出 2 }
Dalam kes ini, nilai asal a dan b tidak akan terjejas oleh pengubahsuaian parameter dalam fungsi gcd.
Memanggil fungsi gcd melalui rujukan:
int main() { int a = 10, b = 12; gcd(a, b); cout << "GCD: " << a << endl; // 输出 2 }
Dengan menggunakan rujukan lulus, fungsi boleh mengubah suai nilai a. Oleh itu, pemanggil menerima nilai GCD dan menyimpannya dalam a.
Atas ialah kandungan terperinci Penjelasan terperinci tentang mekanisme panggilan fungsi C++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!