首頁 > 後端開發 > C++ > 主體

如何在 C 中正確宣告指向同一物件的多個指標?

Patricia Arquette
發布: 2024-10-26 01:59:27
原創
700 人瀏覽過

How to Correctly Declare Multiple Pointers to the Same Object in C  ?

澄清多個物件指標聲明

在C 中,當在一行上聲明多個指針時,掌握細微差別至關重要。在提供的範例中,出現了關於兩個看似相似的程式碼片段之間的差異的問題。

範例 1:

<code class="cpp">private:
    sf::Sprite* re_sprite_hair, re_sprite_body, re_sprite_eyes;</code>
登入後複製

此聲明旨在建立三個指向sf::Sprite 物件。然而,它錯誤地創建了一個指標和兩個物件。緊接著 sf::Sprite 後的星號 () 僅適用於第一個變數 (re_sprite_hair),不適用於後續變數。

要修正此問題,應將聲明修改如下:

<code class="cpp">private:
    sf::Sprite* re_sprite_hair, *re_sprite_body, *re_sprite_eyes;</code>
登入後複製

這裡,每個變數都明確分配一個星號,建立三個不同的指標。

範例 2:

<code class="cpp">public:
    Entity()
    {
        re_sprite_eyes = new sf::Sprite();
        re_sprite_hair = new sf::Sprite();
        re_sprite_body = new sf::Sprite();
    }

private:
    sf::Sprite* re_sprite_hair;
    sf::Sprite* re_sprite_body;
    sf::Sprite* re_sprite_eyes;</code>
登入後複製

此版本聲明根據預期目的正確使用三個指標。使用“new”運算子在建構函數中正確初始化指標。

結論:

在單行上聲明多個指標時,放置星號至關重要與每個變數相鄰以避免混淆並確保準確的記憶體管理。

以上是如何在 C 中正確宣告指向同一物件的多個指標?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!