Dalam kelas, pengisytiharan berbilang penunjuk objek dalam satu baris boleh membawa kepada kekeliruan dan ralat pengkompil. Memahami perbezaan antara dua pendekatan di bawah adalah penting untuk pengurusan ingatan yang betul dan mengelakkan potensi isu.
<code class="c++">private: sf::Sprite* re_sprite_eyes; sf::Sprite* re_sprite_body; sf::Sprite* re_sprite_hair;</code>
Dalam pendekatan ini, setiap pembolehubah (re_sprite_eyes , re_sprite_body, *re_sprite_hair) diisytiharkan secara eksplisit sebagai penunjuk kepada objek yang sepadan. Ini adalah cara yang jelas dan mudah untuk mengisytiharkan berbilang penunjuk.
<code class="c++">private: sf::Sprite* re_sprite_hair, re_sprite_body, re_sprite_eyes;</code>
Pendekatan ini cuba mengisytiharkan ketiga-tiga pembolehubah sebagai penunjuk, tetapi ia mengakibatkan ralat pengkompil kerana nama pembolehubah tidak didahului oleh asterisk (*). Sintaks ini bersamaan dengan mengisytiharkan pembolehubah pertama sebagai penunjuk dan pembolehubah yang tinggal sebagai objek:
<code class="c++">sf::Sprite* re_sprite_hair; sf::Sprite re_sprite_body; sf::Sprite re_sprite_eyes;</code>
Untuk mengisytiharkan berbilang penunjuk objek dengan betul dalam satu baris, gunakan sintaks berikut:
<code class="c++">private: sf::Sprite *re_sprite_eyes, *re_sprite_body, *re_sprite_hair;</code>
Dengan meletakkan asterisk sebelum setiap nama pembolehubah, ia diisytiharkan secara eksplisit sebagai penunjuk. Pendekatan ini memastikan peruntukan dan pengurusan memori yang betul untuk setiap penunjuk objek.
Atas ialah kandungan terperinci Bagaimana untuk Mengisytiharkan Penunjuk Berbilang Objek dengan Betul dalam Baris Tunggal dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!