Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengisytiharkan Penunjuk Berbilang Objek dengan Betul dalam Baris Tunggal dalam C?

Bagaimana untuk Mengisytiharkan Penunjuk Berbilang Objek dengan Betul dalam Baris Tunggal dalam C?

Barbara Streisand
Barbara Streisandasal
2024-10-26 00:18:02800semak imbas

How to Correctly Declare Multiple Object Pointers in a Single Line in C  ?

Mengisytiharkan Berbilang Penunjuk Objek dalam Baris Tunggal

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.

Pendekatan 1: Berfungsi Dengan Baik

<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.

Pendekatan 2: Menyebabkan Ralat

<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!

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