名前 題名 ▼ takiさん > マスター 教えてください。 > 動的配列を使う度に、以下の記事が気になって心配になります。 > > ------------------------------------------ > Delphi/動的配列の罠 > http://tobysoft.net/wiki/index.php?Delphi%2F%C6%B0%C5%AA%C7%DB%CE%F3%A4%CE%E6%AB > > 動的配列を「string のようなものだ」と思っていると痛い目に合います。 > 動的配列は参照カウンタつきポインタ > > 「代入したときは参照カウンタをインクリメント」してくれ、 > 「スコープが外れたときは、参照カウンタをデクリメントし、 > 0になったら自動的に開放」はしますが、 > 「書き換えた時にコピー(copy on write)」はしてくれないのです。 > ------------------------------------------ > > 説明はヘルプの「動的配列」のところに書いてあるそうなのですが、 > Delphi XP4 Starter のHELPでキーワードに動的配列を入力しても説明が > 見つかりません。 > > 記事の説明のコードを見ると、単純に := で代入をするとポインタが > コピーされるので、「代入元と代入先が同じメモリーを参照します」と > 読めるのですが、他に何か罠があるのでしょうか? > > 言葉で分からないのは「参照カウンタつきXX」の部分です。 GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link