★★VB初心者質問スレ Part9(´・ω・`)★★
■ このスレッドは過去ログ倉庫に格納されています
0653デフォルトの名無しさん
NGNG測定はしてないが、実感はしてるよ。
ReDimすると新しいメモリ領域が確保される。
ReDim Preserveすると、新しいメモリ領域を確保したうえに、メモリコピー
が行われてる。
だから、
Do While Not EOF(#1)
Line Input #1,strHoge
i = Ubound(astrHoge) + 1
ReDim Preserve astrHoge(i)
astrHoge(i) = strHoge
Loop
のようなコードは非常に効率が悪い。
なので、たとえば
i = -1
Do While Not EOF(#1)
Line Input #1,strHoge
i = i + 1
If i > Ubound(astrHoge) Then
ReDim Preserve astrHoge(i * 2 + 1)
End If
astrHoge(i) = strHoge
Loop
ReDim Preserve astrHoge(i)
こんなふうにする必要があったりする。
■ このスレッドは過去ログ倉庫に格納されています