Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Mencetak Penunjuk Fungsi Menggunakan `cout` dalam C ?

Bagaimanakah Saya Boleh Mencetak Penunjuk Fungsi Menggunakan `cout` dalam C ?

Linda Hamilton
Lepaskan: 2025-01-05 22:31:44
asal
197 orang telah melayarinya

How Can I Print Function Pointers Using `cout` in C  ?

Penunjuk Fungsi Mencetak dengan cout

Dalam C , cout tidak menyokong penunjuk fungsi pencetakan secara langsung. Walau bagaimanapun, menggunakan lebihan pengendali tertentu membolehkan ia dilakukan dengan menukar penuding fungsi kepada penuding lompang (kosong*).

Pengendali<< terbeban untuk berfungsi dengan penunjuk lompang seperti berikut:

ostream &amp; operator <<( ostream &amp;, const void * );
Salin selepas log masuk

Lebihan ini membenarkan output penunjuk lompang dalam format perenambelasan. Penunjuk fungsi tidak boleh mempunyai beban perpustakaan standard untuk pengendali<< kerana ia wujud dalam bilangan jenis yang tidak terhingga.

Apabila cuba mencetak penunjuk fungsi secara langsung dengan cout, ia secara tersirat ditukar kepada jenis lain. Dalam kebanyakan kes, penukaran ini menghasilkan nilai boolean, tetapi peraturan penukaran yang tepat ditakrifkan pelaksanaan.

Untuk mencetak penunjuk fungsi dengan cout, langkah berikut boleh diambil:

  1. Isytihar dan mulakan penuding fungsi:
int (*pf)();
pf = foo;
Salin selepas log masuk
  1. Hantar penuding fungsi ke penunjuk kekosongan:
cout << "cout << (void *)pf is " << (void *)pf << endl;
Salin selepas log masuk
Salin selepas log masuk
  1. Gunakan operator terbeban<< untuk mencetak penunjuk kosong:
cout << "cout << (void *)pf is " << (void *)pf << endl;
Salin selepas log masuk
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencetak Penunjuk Fungsi Menggunakan `cout` dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan