![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Grol |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 5.5.2005 Где: Россия Репутация: нет Всего: нет |
Еще раз здравствуйте мастера!!! Сегодня я уже второй раз пишу в форум!!! У меня такой вопрос: у меня есть два динамических массива, первый из них уже забит числами, если я преравняю второй массив к первому, то эти два массива приравняются. Если же я попытаю изменять числа во втором массиве, то числа будут изменяться и в первом массиве!!! Как это избежать? То есть мне надо приравнять два массива, которые динамически созданные, и чтоб при изменении чисел в одном массиве в другом они не изменялись. Я конечно же мог это сделать через цикл, но если элементов в массивах будут под 100000, то будет тормоза с компом. Мастера, асы в этом деле помогите ламаку!!!
Это сообщение отредактировал(а) Alex - 24.5.2005, 00:45 --------------------
Живи так, как будто тебе предстоит умереть завтра...Учись так, как будто тебе предстоит жить вечно......... |
|||
|
||||
| Rrader |
|
||||
|
Inspired =) ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1535 Регистрация: 7.5.2005 Репутация: 70 Всего: 191 |
Delphi под рукой у меня нет. Проверь! Если встретилось вот такое объявление:
то массивы будут разными, и присваивание будет запрещено. Это сообщение отредактировал(а) Rrader - 24.5.2005, 01:02 |
||||
|
|||||
| ДЫМ |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 224 Регистрация: 6.1.2004 Репутация: 8 Всего: 8 |
|
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
ДЫМ После присвоение динамических массиов они будут ссылаться на одни данные, а нужно получить копию исходного массива.
Grol Можешь так скопировать(но не думай что при этом все без циклов работает
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| Alix |
|
|||
|
L45 ![]() ![]() Профиль Группа: Участник Сообщений: 581 Регистрация: 4.5.2005 Где: Pskov/Spb Репутация: 7 Всего: 23 |
<Spawn>
Уверены, что элементы дин. массивов располагаются в памяти последовательно? -------------------- Знание только тогда знание, когда оно приобретено усилиями своей мысли, а не памятью (с) Л. Толстой High tech. Low live. (с) Gardner Dozois |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
Alix Думаю, что последоваетльно, учитывая, что рельно вызывается функция из модуля System под названием DynArraySetLength, которая использует в своей работе GetMem и ReallocMem, а они выделяют неразрывные блоки памяти.
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| Snowy |
|
||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Это потому, что ты приравниваешь не сами массивы, а их указатели. Поэтому по сути два разных массива рулят одной и той же областью памяти.
Агу. А, если в памяти не будет целого фрагмента, способного вместить запрашиваемый объем, то массив не получит запрашиваемого размера. Сдается мне, что можно сделать все проще: не так:
|
||||||||
|
|||||||||
| Петрович |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 25 Всего: 55 |
А хелп читать не пробовали?
-------------------- Все знать невозможно, но хочется |
||||
|
|||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |