Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Mencetak Alamat dengan Penunjuk Char Menggunakan `cout`?

Bagaimana untuk Mencetak Alamat dengan Penunjuk Char Menggunakan `cout`?

DDD
Lepaskan: 2024-11-03 21:10:03
asal
993 orang telah melayarinya

How to Print Addresses with Char Pointers Using `cout`?

Tafsiran Cout Penunjuk Char

Tidak seperti printf(), yang menawarkan penentu penukaran khusus (%u atau %s) untuk menentukan sama ada untuk mencetak alamat atau keseluruhan rentetan yang ditunjuk oleh penuding char, cout memerlukan pendekatan yang jelas untuk perbezaan ini.

Contoh Masalah:

Pertimbangkan coretan kod berikut:

<code class="cpp">int main() {
  char ch = 'a';
  char *cptr = &ch;
  cout << cptr << endl;
  return 0;
}
Salin selepas log masuk

Dalam contoh ini, dengan pengkompil GNU lalai, cout mentafsir penunjuk char sebagai rentetan gaya C dan cuba mencetak aksara yang ditunjuk oleh cptr. Walau bagaimanapun, jika niatnya adalah untuk mencetak alamat ch sebaliknya, pendekatan yang berbeza diperlukan.

Penyelesaian:

Untuk mencetak alamat ch menggunakan cptr dengan cout , penghantaran jenis eksplisit diperlukan. Ini dicapai dengan menggunakan static_cast<> operator, seperti yang ditunjukkan di bawah:

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

Dengan menghantar cptr secara eksplisit ke void *, resolusi beban lampau memilih operator ostream& yang sesuai yang mengambil penunjuk void sebagai hujah. Ini mencetak alamat ch.

dengan betul

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

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan