*` lwn. `.`? " />
Penunjuk Fungsi Ahli dalam C : Menyahmistikan >* dan .
Ramai pengaturcara mencari pengendali penunjuk kepada ahli > dan . dalam C mengelirukan Artikel ini menjelaskan penggunaan mereka dan bila untuk mengambil mereka daripada tradisional > ..
Pemahaman >* dan .
> dan . ialah pengendali penunjuk kepada ahli yang membolehkan anda mengakses fungsi ahli melalui petunjuk Pengendali ini digunakan apabila anda perlu mengikat fungsi ahli secara dinamik objek.
Contoh:
Pertimbangkan kelas berikut:
struct X { void f() {} void g() {} };
Untuk mencipta penunjuk kepada fungsi ahli f, kami boleh menggunakan typedef:
typedef void (X::*pointer)();
Sekarang, kita boleh menetapkan f pada penunjuk somePointer:
pointer somePointer = &X::f;
Untuk memanggil fungsi ahli menggunakan penunjuk, kita memerlukan objek:
X x; (x.*somePointer)(); // Calls x.f()
Jika x ialah penunjuk kepada objek, kita perlu menggunakan >* sebaliknya:
X* px = new X; (px ->* somePointer)(); // Calls px->f()
Senario Penggunaan:
Anda lazimnya perlu menggunakan > dan . dalam senario di mana anda perlu menghantar fungsi ahli sebagai argumen kepada fungsi atau menyimpannya dalam bekas. Pengendali ini menyediakan cara untuk memisahkan panggilan fungsi daripada contoh objek tertentu.
Kesimpulan:
Pengendali penunjuk kepada ahli > dan . dalam C ialah alat berkuasa yang membolehkan pengikatan fungsi dinamik. Dengan memahami penggunaannya dan bila hendak menggaji mereka berbanding tradisional > dan ., anda boleh meningkatkan fleksibiliti dan kebolehgunaan semula kod anda.
Atas ialah kandungan terperinci Penunjuk Fungsi Ahli C: Bila Untuk Menggunakan `->*` lwn. `.`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!