Rumah > Artikel > pembangunan bahagian belakang > Terokai pelaksanaan asas parameter lalai dan parameter pembolehubah fungsi C++
Parameter lalai: Tentukan nilai parameter lalai dalam definisi fungsi, gunakan parameter pembolehubah tetap yang dipratakrif: Gunakan elips untuk menunjukkan, kompil ke penuding ke tatasusunan, bungkus parameter masuk, lalui tatasusunan untuk mengakses parameter.
Terokai asas pelaksanaan parameter lalai dan parameter pembolehubah dalam fungsi C++
Parameter lalai
Parameter lalai ialah mekanisme yang membolehkan anda menentukan nilai lalai untuk parameter. Ia membolehkan fungsi menggunakan nilai lalai apabila tiada parameter sebenar diluluskan.
Di bawah tudung, parameter lalai sebenarnya dilaksanakan oleh pengkompil, iaitu parameter yang dipratakrifkan sebagai pemalar. Apabila pengkompil memanggil fungsi dengan parameter lalai, ia menyemak sama ada pembolehubah masuk diluluskan, dan jika tidak, ia menggunakan nilai lalai yang dipratentukan.
Contohnya:
void print_number(int num, int default_num = 10) { cout << (num ? num : default_num) << endl; }
Apabila memanggil fungsi ini, kita boleh lulus atau tidak lulus parameter kedua:
print_number(5); // 输出 5 print_number(0, 20); // 输出 20
Parameter pembolehubah
Parameter pembolehubah juga dipanggil parameter panjang pembolehubah, yang membenarkan fungsi menerima pembolehubah bilangan parameter. Dalam C++, varargs diwakili oleh elips (...
). ...
) 表示。
在底层,可变参数被编译为一个指向数组的指针。当函数被调用时,编译器将传入的参数打包到分配的此数组中。然后,函数可以遍历该数组来访问参数。
例如:
int sum_numbers(int count, ...) { int sum = 0; va_list args; va_start(args, count); // 获取可变参数列表 for (int i = 0; i < count; ++i) { sum += va_arg(args, int); // 访问第 i 个参数 } va_end(args); // 清理可变参数列表 return sum; }
当调用该函数时,我们可以传递任意数量的参数:
cout << sum_numbers(3, 1, 2, 3) << endl; // 输出 6 cout << sum_numbers(5, 10, 20, 30, 40, 50) << endl; // 输出 150
实战案例
在现实世界中,默认参数和可变参数有广泛的应用。例如:
print()
print()
dalam Python. 🎜🎜Atas ialah kandungan terperinci Terokai pelaksanaan asas parameter lalai dan parameter pembolehubah fungsi C++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!