表示: Delphi C++
表示設定

System.DynArraySetLength

提供:XE2 API Documentation
移動: 案内, 検索

Delphi

procedure DynArraySetLength(var a: Pointer; typeInfo: Pointer; dimCnt: NativeInt; lengthVec: PNativeint);

C++

extern PACKAGE void __fastcall DynArraySetLength(void * &a, void * typeInfo, int dimCnt, PNativeInt lengthVec);

プロパティ

種類 可視性 ソース ユニット
procedure
function
public
System.pas
System.hpp
System System


説明

動的配列のサイズを変更します。

DynArraySetLength は、動的配列の各次元のサイズを変更します。 入力パラメータについては次の表を参照してください。

パラメータ 説明
a 変更対象の動的配列を指すポインタ。
typeInfo 変更対象の配列の型情報(要素のサイズを計算するために使用します)。
dimCnt 変更対象の配列の次元数。
lengthVec 各次元のサイズを示す整数の配列。

新たに割り当てられたメモリはゼロで埋められます。

2D dynamic array illustration

2D 動的配列の図


メモ: Delphi では、DynArraySetLength の代わりに SetLength 手続きを使用することができます。


以下のコードでは、DynArraySetLength 手続きを使って、動的配列 A のサイズを変更しています。

 
type
T2DDynamArray = array of array of String;
 
var
A: T2DDynamArray;
Len: array [0 .. 1] of Integer;
 
begin
Len[0] := 3; // Length of the dimension 0
Len[1] := 4; // Length of the dimension 1
DynArraySetLength(Pointer(A), TypeInfo(T2DDynamArray), 2, PLongInt(@len[0]));
end.

同じ操作を SetLength 手続きを使って行うこともできます(この方法が推奨されています)。

 
begin
SetLength(A, 3, 4);
end.

関連項目

以前のバージョン
他の言語