New: Porovnání verzí
Skočit na navigaci
Skočit na vyhledávání
m (1 revízia: Unit System) |
|||
Řádek 45: | Řádek 45: | ||
[[Category:System]] | [[Category:System]] | ||
[[Category:Procedúry System]] | [[Category:Procedúry System]] | ||
+ | [[Category:Procedury a funkce pro dynamické alokace]] |
Aktuální verze z 5. 10. 2012, 20:48
Vytvoří novou dynamickou proměnnou a vloží její adresu do proměnné typu ukazatel.
- Deklarace
procedure New(var P: Pointer [ , Init: Constructor ]);
- Režim
- Windows, Reálný, Chráněný
- Poznámky
- Deklarace New byla rozšířena také pro alokaci objektu na haldě, pokud jako druhý parametr předáte volání konstruktoru objektu, jako např.:
New(T, Init(360, 174));
- Další rozšíření umožňuje použití procedury New jako funkce, která alokuje a vrátí dynamickou proměnnou určeného typu.
- Jestliže volání je ve formě New(T), T může být libovolného ukazatelového typu.
- Jestliže volání je ve formě New(T, Init), T musí být ukazatelem na objektový typ a Init musí odkazovat na konstruktor tohoto objektového typu. V obou případech je typem výsledku funkce T.
- Viz také
- Dispose
Vzorový příklad
{Dispose.PAS} {Vzorový příklad pro procedury New a Dispose.} type Str18 = string[18]; var P: ^Str18; begin New(P); P^ := 'Teď ji uvidíte...'; Dispose(P); { Teď ne... } end.