Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mencetak Alamat Penunjuk dengan C \'s cout?

Bagaimana untuk Mencetak Alamat Penunjuk dengan C \'s cout?

DDD
DDDasal
2024-11-04 00:22:30213semak imbas

How to Print a Pointer Address with C  's cout?

Cara Mengeluarkan Alamat Penunjuk dengan C's cout

Apabila cuba mencetak penunjuk aksara menggunakan cout, strim memutuskan untuk merawat ia sebagai rentetan dan bukannya alamat. Tingkah laku ini timbul kerana resolusi beban lampau, di mana cout memilih operator yang sepadan dengan jenis hujah.

Dalam kes ini, cout memilih operator yang ditakrifkan untuk mencetak rentetan gaya C:

<code class="cpp">ostream& operator<<(ostream& o, const char *c);

Walau bagaimanapun, anda perlu memilih lebihan beban untuk penunjuk pencetakan:

<code class="cpp">ostream& operator<<(ostream& o, const void *p);

Untuk menghantar penuding aksara secara eksplisit kepada penuding generik, gunakan sintaks berikut:

<code class="cpp">cout << static_cast<void *>(cptr) << endl;</code>

Pelakon ini memberitahu cout bahawa anda berniat untuk mengeluarkan alamat penuding dan bukannya rentetan yang ditunjukkannya.

Atas ialah kandungan terperinci Bagaimana untuk Mencetak Alamat Penunjuk dengan C \'s cout?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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