- Код: Выделить всё
a:array of char = ['a','b','c','d']; ?
А почему не через строку ?
a:String = 'abcd';
Обращение точно такое же .
Да возможно для дельфи подобный прикол можно проделать и с числами.
Но в чем смысл записи константы в динамический масив ?
Неужели трудно объявить что-то вроде этого ?
- Код: Выделить всё
a:array [0..4] of char = ('a','b','c','d'); b:array of char;
...
SetLength(b,SizeOf(a)); b:=a;
И вообще динамический масив это дикая гадость при использование иначе чем для однократного резервирования при запуске программы .
Хотите гарантированную чистку мусора ? Объявляйте локальные переменные . Строки кстати пресловутую "сборку мусора" имеют и если сильно лень отслеживать освобождение памяти то парочка простейших процедур преобразует строки в масив практически любого типа и даже в "резиновый" масив записей переменной длинны.
Но вообще даже "100%-ная автоматическая чистка" не может гарантировать от приколов вроде знаменитого "бича хайасма" под названием "кольцевание" ( то есть "неявной рекурсии" ).