Rumah > Artikel > pembangunan bahagian belakang > Penjelasan terperinci tentang parameter fungsi C++: idea lulus parameter dalam pengaturcaraan berfungsi
Terdapat lima cara untuk menghantar parameter dalam fungsi C++: lulus rujukan, lulus nilai, penukaran jenis tersirat, parameter const dan parameter lalai. Lulus melalui rujukan meningkatkan kecekapan dan lulus mengikut nilai adalah lebih selamat penukaran jenis tersirat menukar jenis lain kepada jenis yang dijangkakan oleh fungsi parameter const tidak sengaja membenarkan parameter untuk ditinggalkan; Dalam pengaturcaraan berfungsi, parameter fungsi boleh digunakan untuk menghantar data dan melaksanakan operasi.
Dalam C++, parameter ialah data yang dihantar kepada fungsi. Cara parameter diluluskan mempunyai kesan penting pada gaya, prestasi dan kebolehbacaan kod.
Lulus dengan rujukan ialah penunjuk kepada pembolehubah. Apabila fungsi melepasi parameter melalui rujukan, sebarang perubahan yang dilakukan oleh fungsi kepada parameter ditunjukkan dalam pembolehubah asal. Melewati rujukan meningkatkan kecekapan kerana ia tidak memerlukan penyalinan data semasa memanggil fungsi.
void increment(int& value) { value++; } int main() { int x = 5; increment(x); // 引用传递 cout << x; // 输出 6 }
Pass by value menghantar salinan hujah kepada fungsi. Sebarang perubahan yang dibuat oleh fungsi pada salinan ini tidak akan menjejaskan pembolehubah asal. Melewati nilai adalah lebih selamat kerana ia menghalang pengubahsuaian yang tidak disengajakan.
void increment(int value) { value++; } int main() { int x = 5; increment(x); // 值传递 cout << x; // 输出 5(不变) }
Apabila parameter diluluskan mengikut nilai, C++ secara automatik melakukan penukaran jenis tersirat. Sebagai contoh, jika fungsi menjangka parameter int tetapi diluluskan char, C++ menukar char kepada int.
void print(int value) { cout << value; } int main() { char c = 'a'; print(c); // 隐式转换,输出 97('a' 的 ASCII 码) }
parameter const tidak boleh diubah suai oleh fungsi. Parameter Const membantu menjadikan kod anda lebih selamat kerana ia menghalang pengubahsuaian yang tidak disengajakan.
void print(const int& value) { // value 不能被修改 } int main() { const int x = 5; print(x); }
Parameter lalai membenarkan parameter tertentu ditinggalkan semasa memanggil fungsi. Parameter lalai mesti diletakkan di hujung senarai parameter fungsi.
void print(int value, const string& name = "Unknown") { cout << "Name: " << name << ", Value: " << value; } int main() { print(5); // 使用默认参数 print(10, "John"); // 指定参数 }
Dalam contoh kod pengaturcaraan berfungsi berikut, kita boleh menggunakan parameter fungsi untuk menghantar data dan melaksanakan operasi:
#include <iostream> #include <functional> using namespace std; // 接收一个整数并返回其平方的 lambda 函数 auto square = [](int x) { return x * x; }; int main() { // 将 lambda 函数传递给 for_each 函数 vector<int> numbers = {1, 2, 3}; for_each(begin(numbers), end(numbers), square); // 打印平方的值 for (auto num : numbers) { cout << num << " "; } return 0; }
Dalam contoh kod ini, fungsi lambdasquare
作为一个参数传递给 for_each
digunakan untuk melaksanakan operasi pada setiap item dalam bekas. Lakukan operasi kuasa dua pada elemen.
Atas ialah kandungan terperinci Penjelasan terperinci tentang parameter fungsi C++: idea lulus parameter dalam pengaturcaraan berfungsi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!