![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Гость_Игорь |
|
||||
|
Unregistered |
Где можно почитать про то как Delphi работает со строками?
Хотелось бы знать теорию хотя бы в общих чертах. Ну или может быть кто-нить на пальцах покажет? Собственно меня волнуют такие ситуации: 1.
Что будет в итоге? Будет сделан еще один экземпляр 'Hello World!'или же просто s1 и s2 приравняются как указатели. 2.
Вопрос тот же - строка скопируется или приравняются тока указатели ? Если скопируется, то под нее выделяется память?? Как работают вышеописанные примеры если s1-глобальная s2 -локальная. И наоборот. Если обе локальные и если обе глобальные. Заранее спасибо. |
||||
|
|||||
| Dynamic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 372 Регистрация: 5.7.2004 Где: Салехард Репутация: 12 Всего: 15 |
Вот несколько статей по этому вопросу (рубрика "Структуры данных").
-------------------- Было бы о чем молчать, а уж что сказать – всегда найдется... |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
Дельфи работает со строками в зависмости от их типа.
Если говорить о AnsiString (начиная с Дельфи2 тип string является синонимом этого типа), то дельфи работает с ними по ссылке, т.е.
В данном случае переменная B хранит адрес памяти, по которому находиться строка, помещенная в переменную A (по сути переменная A тоже хранит адрес в памяти). Но если вы будете модифицировать значение на которое указывает переменная B, то произойдет копирование строк, и перемення B будет указывать уже на другой адрес в памяти. За этот механизм отвечает сама Delphi. -------------------- |
|||
|
||||
| Alex |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: 80 Всего: 162 |
-------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
Рекомендую это прочитать всем, кто программирует на Дельфи. -------------------- |
|||
|
||||
| Guest |
|
||||
|
Unregistered |
БОЛЬШОЕ ЧЕЛОВЕЧЕСКОЕ СПАСИБО! ТО ЧТО НАДО ! |
||||
|
|||||
![]()
|
| Правила форума "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. |