我正在將一些現有的Delphi代碼重構爲一個類。在對象字段中使用動態數組是否是一種很好的做法?
當前代碼使用定義爲動態數組的array of byte
的全局變量。在初始化時,代碼會計算出陣列的大小,並使用SetLength
來分配它。作爲獲取數據的緩衝區以及作爲稍後處理的運行時容器都很方便。
我想將此變量作爲對象屬性之一移動。
但我不確定是否可以保持它的類型。它被認爲是良好的做法?
我正在考慮的替代方案是將其轉換爲像TList這樣的動態容器。我將保留與獲取數據相同的代碼,使用本地動態數組,但將其移動到容器的剩餘壽命。這是值得的努力?我知道優雅總是在最後得到回報,但我現在看不到這一努力的價值。有什麼想法嗎?
謝謝,你的洞察力非常有價值。即使可以反對優雅,離開動態陣列,現在也有技術上的理由。謝謝。 –
「這可能會導致內存管理器發生最終錯誤」您是否介意詳細說明?那是什麼意思? –