Cara Menggunakan Penunjuk Fungsi dalam C++

Cara Menggunakan Penunjuk Fungsi Dalam C



Dalam C++, penunjuk fungsi menawarkan alat yang mujarab untuk memanipulasi fungsi sebagai data. A penunjuk fungsi ialah pembolehubah yang memegang alamat memori fungsi. Ia berfungsi sama dengan penuding standard kecuali ia menyimpan alamat fungsi dan bukannya alamat objek data. Adalah penting untuk mengingatinya penunjuk fungsi hanyalah sejenis pembolehubah lain dalam C++, dan oleh itu, ia mesti diisytiharkan dan dimulakan sama dengan pembolehubah lain.

Menentukan Penunjuk Fungsi

Sintaks untuk mengisytiharkan a penunjuk fungsi adalah seperti berikut:







return_type ( * func_ptr_name ) ( senarai_parameter ) ;



di sini, func_ptr_name ialah nama bagi penunjuk fungsi , return_type ialah jenis pemulangan fungsi, dan senarai_parameter ialah senarai parameter yang digunakan oleh fungsi.



Berikut ialah contoh kod untuk menggunakan penunjuk fungsi dalam C++.





#include
#include
menggunakan ruang nama std;

kubus kosong ( int x )
{
cout << 'Kubus bagi suatu nombor ialah' << x * x * x << endl;
}

int utama ( )
{
batal ( * keseronokanPtr ) ( int ) ;
funPtr = & kiub;
keseronokanPtr ( 5 ) ;
kembali 0 ;
}

Dalam kod di atas, the penunjuk fungsi diisytiharkan sebagai batal (*funPtr)(int) , dan ia dimulakan dengan menyimpan alamat fungsi cube() dalam keseronokanPtr , maksudnya keseronokanPtr menunjuk kepada fungsi kubus () . Oleh itu, kita boleh memanggil fungsi kubus menggunakan funPtr ( penunjuk fungsi ) seperti dalam kod funPtr (5).



Pengeluaran

A penunjuk fungsi , berbeza dengan petunjuk lain, menunjuk kepada kod dan bukannya data. A penunjuk fungsi selalunya menyimpan permulaan kod boleh laku. Tidak seperti petunjuk standard, kami tidak menggunakan penunjuk fungsi untuk memperuntukkan atau mengosongkan ingatan. Seperti yang kita lihat dalam program di atas, nama fungsi juga boleh digunakan untuk menentukan lokasinya. Peraturan yang sama yang digunakan pada penunjuk biasa juga digunakan pada tatasusunan penunjuk fungsi . Penggunaan penunjuk fungsi boleh digunakan sebagai ganti kes suis. A penunjuk fungsi boleh dibekalkan sebagai hujah dan dikembalikan daripada fungsi, sama seperti penuding data boleh.

Kelebihan Penunjuk Fungsi

Faedah utama daripada penunjuk fungsi disenaraikan di bawah.

1: Kebolehgunaan Semula Kod

Salah satu kelebihan utama penggunaan penunjuk fungsi ialah mereka membenarkan kebolehgunaan semula dalam kod. Daripada perlu menulis fungsi unik untuk setiap keadaan, anda boleh mereka bentuk fungsi yang cukup umum untuk menangani pelbagai jenis data input dengan mentakrifkan penunjuk fungsi taip dan gunakannya secara konsisten sepanjang kod anda. Sebaliknya, semua yang anda perlu lakukan ialah memberikan hak penunjuk fungsi pada masa jalan atau melalui fail konfigurasi, dan fungsi akan menyesuaikan dengan permintaan kerja semasa. Ini bukan sahaja mempercepatkan proses pembangunan tetapi juga meningkatkan modulariti kod anda dan kebolehselenggaraan jangka panjang.

2: Gelagat Masa Jalanan Dinamik

Keupayaan untuk melaksanakan gelagat masa jalan dinamik ialah satu lagi faedah penggunaan penunjuk fungsi . Sebagai contoh, anda mungkin mempunyai fungsi yang melaksanakan pengiraan tertentu, tetapi algoritma tepat yang digunakan untuk melaksanakan pengiraan itu akan bergantung pada input pengguna atau keadaan sistem. Dengan menyimpan a penunjuk fungsi yang sepadan dengan setiap algoritma yang mungkin, anda boleh memilih yang sesuai pada masa jalan menggunakan pernyataan if-else atau logik bersyarat lain. Dengan melakukan ini, anda boleh membangunkan kod yang sangat fleksibel yang boleh bertindak balas terhadap perubahan keadaan tanpa memerlukan keseluruhan program membina semula.

3: Fleksibiliti

Dalam C++, penunjuk fungsi menawarkan alat yang mujarab untuk mencipta kod generik yang fleksibel. Penunjuk fungsi pada asasnya adalah pembolehubah yang memegang alamat lokasi memori fungsi. Ia membolehkan fungsi disimpan dalam struktur data seperti tatasusunan atau senarai, dibekalkan sebagai argumen kepada fungsi lain, malah digunakan untuk memilih fungsi yang betul secara dinamik untuk dilaksanakan berdasarkan keadaan masa jalan atau input pengguna.

Kesimpulan

Penunjuk fungsi dalam C++ adalah berkesan yang menyokong tingkah laku masa jalan dinamik dan penggunaan semula kod. Anda boleh menulis kod yang sangat fleksibel dan adaptif yang boleh melaraskan keperluan yang berubah-ubah dari semasa ke semasa dengan menyimpan alamat fungsi dalam pembolehubah. Penunjuk fungsi diperlukan untuk setiap pengekod C++ profesional, walaupun pada hakikatnya mereka mungkin memerlukan beberapa kerja untuk dipelajari.