Kaedah lulus parameter fungsi dalam C++ termasuk: lulus nilai (menyalin nilai parameter sebenar) lulus rujukan (secara langsung mengendalikan nilai parameter sebenar) lulus penunjuk (terus mengakses alamat parameter sebenar) lulus rujukan const ( membaca nilai parameter sebenar, Tetapi ia tidak boleh diubah suai)
Petua pengaturcaraan biasa untuk lulus parameter fungsi dalam C++
Dalam C++, parameter fungsi boleh diluluskan dalam empat cara: lulus nilai, lulus rujukan, lulus penunjuk dan lulus rujukan const. Untuk keperluan yang berbeza, kaedah penyampaian yang berbeza adalah lebih sesuai.
Panggil dengan Nilai
Nilai lulus ialah cara paling mudah dan langsung, iaitu menyalin nilai parameter sebenar di dalam fungsi. Kelebihannya ialah perubahan kepada parameter sebenar dielakkan daripada menjejaskan nilai parameter sebenar itu sendiri. Contoh:
void increment(int num) { num++; // 只能更改 num 的局部副本 } int main() { int x = 5; increment(x); // x 的副本被传递给 increment() cout << x; // 输出 5,x 不会改变 }
Panggil melalui Rujukan
Melalui rujukan membolehkan nilai parameter sebenar dimanipulasi secara langsung dalam fungsi. Kelebihannya ialah ia mengelakkan proses pemindahan nilai dan meningkatkan kecekapan. Contoh:
void increment(int& num) { num++; // 直接更改实参的值 } int main() { int x = 5; increment(x); // x 的引用被传递给 increment() cout << x; // 输出 6 }
Panggil dengan Penunjuk
Melalui penuding membolehkan akses terus ke alamat parameter sebenar dalam fungsi. Kelebihannya ialah ia boleh melakukan operasi yang lebih fleksibel pada kandungan yang ditunjukkan oleh penunjuk. Contoh:
void swap(int* a, int* b) { int temp = *a; *a = *b; *b = temp; } int main() { int x = 5, y = 7; swap(&x, &y); // 传递 x 和 y 的地址 cout << x << " " << y; // 输出 7 5 }
Panggil dengan const Rujukan
Melalui rujukan const adalah serupa dengan menghantar rujukan, tetapi fungsi tidak boleh mengubah suai nilai parameter sebenar. Kelebihannya ialah pengubahsuaian yang tidak disengajakan dapat dielakkan dan keselamatan kod dipertingkatkan. Contoh:
void print(const int& num) { cout << num; // 只读访问实参 } int main() { int x = 5; print(x); // x 的 const 引用被传递给 print() }
Kes praktikal
Apabila mengira luas bulatan, parameter fungsi boleh menjadi jejari bulatan. Untuk mengelakkan overhed tambahan yang disebabkan oleh menghantar nilai, anda boleh memilih untuk menghantar rujukan dan membiarkan fungsi beroperasi secara langsung pada nilai jejari.
rreeeeAtas ialah kandungan terperinci Teknik pengaturcaraan biasa untuk menghantar parameter fungsi dalam C++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!