Apabila berurusan dengan penunjuk char, pilihan antara mengeluarkan alamat atau rentetan kandungan boleh mengelirukan. Dalam kes printf(), keputusan adalah jelas berdasarkan penentu penukaran. Walau bagaimanapun, apabila ia melibatkan cout, proses pemilihan adalah kurang jelas.
Dalam C , cout ialah contoh kelas ostream, yang menawarkan berbilang versi lebih muatan operator< ;<. Apabila mencetak penunjuk char, pengkompil mesti menentukan beban lampau yang hendak digunakan. Secara lalai, cout akan mengutamakan beban berlebihan yang dimaksudkan untuk rentetan gaya C, yang mencetak kandungan rentetan.
Untuk mengatasi tingkah laku ini dan mencetak alamat sebaliknya, hantaran adalah perlu. Lebihan beban yang diingini mengambil penunjuk kosong sebagai input. Oleh itu, anda boleh menggunakan kod berikut:
cout << static_cast(cptr) << endl;
Pelakon ini secara eksplisit menukar penunjuk char kepada penuding tidak sah, memaksa cout menggunakan lebihan beban yang sesuai. Akibatnya, alamat ch akan dicetak.
Atas ialah kandungan terperinci Bagaimana untuk Mencetak Alamat Penunjuk char menggunakan cout dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!