生命週期檢查
為協助開發人員找出一些簡單的錯誤,當節點狀態結構和容器遭到刪除時,fbl::
容器會執行幾項檢查。使用 ZX_DEBUG_ASSERT
進行實作,因此只有在啟用偵錯宣告時,才會存在。
首先,如果容器狀態結構存在於容器中,就不適合刪除。這麼做會被視為錯誤,並且會觸發宣告。請務必確保在容器中不允許刪除物件。通常使用代管指標追蹤物件生命週期時,通常並不容易,因為容器中的物件需要擁有容器的至少一個物件參照,所以物件無法先刪除,直到最後離開容器為止。
其次,如果含有未受管理的指標的容器,其中仍有物件,則可能會遭到刪除。代管指標的容器會自動執行clear()
刪除本身保留的代管參照時,會執行容器,但非代管指標容器的容器則不會這麼做。如果容器中仍有非管理指標,當其遭到刪除時,可能是系統發生錯誤,而該記憶體可能流失。因此,允許刪除非代管指標的非空白容器會觸發斷言。
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2024-03-15 (世界標準時間)。
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的資訊","missingTheInformationINeed","thumb-down"],["過於複雜/步驟過多","tooComplicatedTooManySteps","thumb-down"],["過時","outOfDate","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["示例/程式碼問題","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2024-03-15 (世界標準時間)。"],[],[]]