使用後にDelphiの配列の長さを0に設定するのが正しい方法かどうかは不思議です。使用後に配列の長さを0に設定する必要がありますか?
var
MyArray : array of TObject;
begin
SetLength(MyArray, N);
// do something with MyArray (add items and use it..)
SetLength(MyArray, 0);
end;
長さを0に設定する理由はありますか。
「ベスト」と宣言するのはちょっと強いと思います。あなたは少なくとも2つの選択肢よりも「より良い」理由を正当化することができますか? –
私はあなたの答えを本当に比較しませんでした。動的配列は管理され、何も参照されなければ解放されます。今度は、ポインタをnilに設定すると、手動でリファレンスをオフにします(他のリファレンスがないと仮定して)。だから私は、管理プロセスが自然環境を処理するように設定することが最善であると考えました。 –
@DavidHeffernanこれは、あなたが何をするつもりであるかをより明示的に示しています。実装ではなくセマンティクスを伝えています。この考慮事項の外に、SetLength-0はもちろん同じです。 –