Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

занулить многомерный массив [D5, D6, D7, WinXP]


Piero ©   (2010-04-08 17:30:00) 

есть такие строки:
 for i1 := 1 to 2 do
   for i := 1 to 12 do
     begin
       ks[i1, i] := 0;
     end;

можно вместо этого писать так:
 fillchar(ks,sizeof(ks),0);
или
 fillmemmory?

в чем разница между ними?

я всегда думал что можно и даже нужно т.к. работает быстрее, но недавно один коллега сказал, что он имел проблеммы с fillchar, под DOTNET....


Anatoly Podgoretsky   (2010-04-09 13:57:00) [1]

> Piero  (09.04.2010 13:25:10)  [10]

Многое меняется, в первом измерение не данные, а ссылка на второе измерение, на второй массив, поскольку никаких многомерных динамическиъ массивов нет, а есть array of array of


Sha   (2010-04-09 13:52:00) [2]

Ответ может зависеть от того,
как обьявлен массив
и зачем надо его "занулять" (каков алгоритм последующей работы с ним).


Piero   (2010-04-09 13:25:00) [3]

массив статический
количество ячеек может быть намного больше
так значи единственный нормальный путь это занулять по одному элементу?
а если массив динамический, что меняется?


Anatoly Podgoretsky   (2010-04-09 11:42:00) [4]

> Германн  (09.04.2010 02:50:07)  [7]

Тем что Unmanaged


Anatoly Podgoretsky   (2010-04-09 11:35:00) [5]

> Loginov Dmitry  (08.04.2010 23:55:06)  [6]

На DOTNET запрещено, поскольку функция не Managed


Германн   (2010-04-09 02:50:00) [6]


> Dimka Maslov ©   (08.04.10 17:33) [1]
>
> FillChar есть небезопасная операция
>

Хм. А чем небезопасная?


Loginov Dmitry   (2010-04-08 23:55:00) [7]


> но недавно один коллега сказал, что он имел проблеммы с
> fillchar, под DOTNET....


И причем тут DOTNET...


Б   (2010-04-08 21:24:00) [8]

> Piero   (08.04.10 17:30)  

> в чем разница между ними?


Разницы никакой.
Держи нажатым Ctrl и наведи курсор на FillMemory, пройдя
по ссылке увидишь, что вызывается тот самый FillChar.


Anatoly Podgoretsky   (2010-04-08 19:42:00) [9]

> Piero  (08.04.2010 17:30:00)  [0]

Так писать нельзя, будет утечка памяти. И за что боремся то, за 24 ячейки, тьфу


Anatoly Podgoretsky   (2010-04-08 19:42:00) [10]

> Dimka Maslov  (08.04.2010 17:33:01)  [1]

Это фторое фи


Правильный$Вася   (2010-04-08 18:17:00) [11]

а массив динамический или статический?


Dimka Maslov   (2010-04-08 17:33:00) [12]

FillChar есть небезопасная операция


Наверх

Титульная страница Поиск, карта сайта Написать письмо