Fungsi sebaris terus dikembangkan tanpa memanggil, manakala penunjuk fungsi menyimpan pembolehubah yang menunjuk ke alamat fungsi, membenarkan panggilan fungsi tidak langsung.
Perbezaan antara fungsi sebaris dan penunjuk fungsi dalam C++
Apakah fungsi sebaris?
Fungsi sebaris ialah fungsi yang dikembangkan terus oleh pengkompil pada masa penyusunan. Ini bermakna bahawa panggilan ke fungsi sebaris tidak menghasilkan panggilan fungsi sebenar, sebaliknya kod fungsi dimasukkan terus ke lokasi di mana ia dipanggil.
Sintaks:
inline 返回值类型 函数名(参数列表) { // 函数体 }
Kelebihan:
Apakah penunjuk fungsi?
Penunjuk fungsi ialah pembolehubah yang menyimpan alamat fungsi. Ia membolehkan kami memanggil fungsi secara tidak langsung.
Sintaks: Jenis
类型 (*函数名)(参数列表);
mewakili jenis nilai pulangan penuding fungsi, manakala senarai parameter mewakili jenis parameter formal penuding fungsi.
Kelebihan:
Praktikal Case
Inline Fungsi:
Menghibitkan fungsi sebaris berikut untuk mengira nombor fibonacci:
inline int fibonacci(int n) { if (n == 0) { return 0; } else if (n == 1) { return 1; } else { return fibonacci(n - 1) + fibonacci(n - 2); } }
function Pointer:
Memandang pengiraan berikut fibonacci menggunakan penunjuk fungsi kod untuk nombor tersebut untuk nombor tersebut untuk nombor tersebut untuk nombor tersebut untuk nombor tersebut :
int (*fib_ptr)(int); int fibonacci_using_ptr(int n) { if (n == 0) { return 0; } else if (n == 1) { return 1; } else { return fib_ptr(n - 1) + fib_ptr(n - 2); } } int main() { fib_ptr = fibonacci; cout << fibonacci_using_ptr(10) << endl; // 输出:55 return 0; }
Dalam kes ini, penunjuk fungsifib_ptr
被分配给内联函数 fibonacci
, yang kemudiannya digunakan untuk memanggil fungsi secara tidak langsung.
Atas ialah kandungan terperinci Perbezaan antara fungsi sebaris C++ dan penunjuk fungsi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!