Я пытаюсь динамически выделять большой массив в Ada (ну, массив массива). Например, я могу динамически выделять объект следующим образом:Динамическое распределение массива записи в Ada
type Object;
type ObjPtr is access Object;
OP : ObjPtr;
-- sometime later
OP := new Object;
OP.Index := I;--OP.Ptr.all;
Free(OP);
Я пытаюсь подражать этому эталонный код:
Object **objList = new Object*[500000];
int32_t *iList = new int32_t[500000];
for (int32_t i = 0; i < 500000; ++i)
{
objList[i] = new Object;
iList[i] = Object::getIndex(objList[i]);
delete objList[i];
}
delete[] iList;
delete[] objList;
К сожалению, я не могу даже сделать что-то как этот с ++ эквивалент:
Object *objList = new Object*[500000];
Я придумал это много до сих пор:
type objs is array (Positive range <>) of Object;
type objList is access objs;
Но я, вероятно, далеко.
Где массив массива? – Schedler 2010-11-26 11:12:15