![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Greenka |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 4.10.2005 Где: Зеленоград Репутация: нет Всего: нет |
Заранее спасибо!!!!! |
|||
|
||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: нет Всего: 173 |
Greenka
Язык-то какой? -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| Nastya |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 27.3.2002 Где: Мариуполь Репутация: нет Всего: 44 |
memcopy если массив линейный
-------------------- Что бы понять рекурсию, надо понять рекурсию "Профессионал - это человек сделавший все возможные ошибки в очень узкой области". Н.Бор |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
На Delphi
|
|||
|
||||
| podval |
|
|||
![]() Где я? Кто я? ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3094 Регистрация: 25.3.2002 Где: СПб Репутация: нет Всего: 62 |
Модератор: Тема перенесена из раздела "Алгоритмы"
|
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
показывай как пользуешся.
там, в принципе, и сделать "не так" нельзя -- три параметра ( два указателя, один -- размер )... -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: 8 Всего: 24 |
Попробуй переменные массива определить как глобальные, тогда будет всё нормально...
Это сообщение отредактировал(а) Zero - 6.10.2005, 21:49 |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
1. Использовать указатели на массивы. 2. Без указателей, как ни крути, без перебора не обойтись. -------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: 8 Всего: 24 |
Да я же вверху написал как обойтись без типа указателей... <Spawn> прежде чем сказать невозможно, подумай прав ли ты... Song |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
Zero Если вы не понимаете в полной мере как работает то, что вы написали, то прошу думать над ответами, т.к. рельно это скрытая реализация работы с указателями на динамический массив.
И, кстати,
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| Voyager |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 532 Регистрация: 8.2.2005 Репутация: 2 Всего: 18 |
Не проверял, но попробуй что-то типа этого:
|
|||
|
||||
| vadims |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 305 Регистрация: 8.6.2005 Репутация: нет Всего: 17 |
Greenka
Ты бы сказал ради любопытства какого типа элементы массива, а то может быть они AnsiString или вообще сложные структуры Короче - приведи описание -------------------- Cpu not found ! Press any key for software emulation. |
|||
|
||||
| Zero |
|
||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: 8 Всего: 24 |
<Spawn> вы для начала хотябы прочитайте, что хотел автор ответа...
По русски, это означает, что он нехочит, чтобы его текст программы был громоздким, а использовать тип указатель, это вообще, ещё целая путаница получится, там было бы проще с использованием циклов...
Если бы я не понимал, тогда бы и не писал... А если кто-то уже написал стандартную фунцию, для упрощения работы с типом "указатель" то в полне целесообразно использовать её. И нет смысла заново изобретать велосипед, его уже изобрели... |
||||||||
|
|||||||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
Zero Причем тут тип указатель? Я имел ввиду, что в любом случае такое присвоение без перемещения данных самого массива будет работать только через указатель! А что для этого использовать это уже дело программиста - явные указатели или какие то неявные вызовы, завязаные на языке программирования. Вы написали выше, что дали пример без использования указателя и упрекнули меня в том, что я был не прав, на что я вам поясняю, что на ФИЗИЧЕСКОМ уровне все будет работать на тех же самых указателях и это нужно понимать.
Я всегда читаю темы перед ответом на какие бы то ни было вопросы. Я дал это замечание, потому что вы пытаетесь помоч человеку и при этом своим кодом навязываете ему какие то идеи \ стиль программирования и я не считаю, что приучение использования глобальных переменных есть хорошо, тем более в данном случае. -------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| vadims |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 305 Регистрация: 8.6.2005 Репутация: нет Всего: 17 |
Вообще-то забавно - похоже эта тема больше интересна участникам форума нежели автору
В принципе задача то элементарна - если массив линенейный, состоящий из простых элементов, те вся информация, связанная с элементом находиться в самом же массиве то подойдет любая функция, связанная с копированием памяти и там не работать ничего не может в принципе Если элемент более сложен - та же строка переменной длины - без присваивания в цикле не обойтись никак Но вообще-то непонятно, что пытаемся выиграть в этой ситуации - это действительно плохой стиль - спускаться на уровень физического представления данных Процедура копирования через присваивания на Дельфи уложиться в строк в 5-6, на С - вообще в одну С точки зрения оптимизации времени выполнения - мне кажется что 99,9% времени уходит на дисковые операции и обрацения к функциям ОС, а на все такого рода операции в памяти остается соответсвенно чуть-чуть Представим, что мы написали код который компилятором уложиться в одну ассемблерную инструкцию REP MOVS () - На небольшом массиве разница между выполнением этой команды или двум десятком операций при присваиваниях будет составлять наносекунды А если массив какой-то гигантский, то он все равно в основном будет лежать в свопе и сама подгрузка куска памяти с диска в ОЗУ займет больше времени, чем выполнение самих инструкций - как бы они не были написаны Поправьте меня если я ошибаюсь Zero Кстати, любопытно какая там особая путаница получиться при работе с указателями ??? -------------------- Cpu not found ! Press any key for software emulation. |
|||
|
||||
![]()
|
| Правила форума "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. |