Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.03.01;
Скачать: CL | DM;

Вниз

Поменять местами два объекта   Найти похожие ветки 

 
н083нький   (2009-01-19 02:55) [0]

Всем привет, я новенький, возник вопрос.
Есть массив объектов (экземпляров класса). Я их всех в цикле об-Create-ил. Теперь мне надо поменять местами 2 элемента. Например, чтоб на месте пятого элемента стоял шестой, а на месте шестого - пятый. Как это сделать с объектами? заранее спасиб0.


 
Германн ©   (2009-01-19 03:01) [1]


> Например, чтоб на месте пятого элемента стоял шестой, а
> на месте шестого - пятый. Как это сделать с объектами? заранее
> спасиб0.
>

А при чём тут объекты?


 
p177-bu11 inno 69   (2009-01-19 03:05) [2]

значит нет разницы, что с объектами?

var
 b: TStudent;
 ar: array of TStudent;
//......
 b := ar[5];
 ar[5] := ar[6];
 ar[6] := b;
//......

так правильно будет? Ничего, что там объекты используются?


 
Германн ©   (2009-01-19 03:10) [3]


> p177-bu11 inno 69   (19.01.09 03:05) [2]
>
> значит нет разницы, что с объектами?
>
> var
>  b: TStudent;
>  ar: array of TStudent;
> //......
>  b := ar[5];
>  ar[5] := ar[6];
>  ar[6] := b;
> //......
>
> так правильно будет? Ничего, что там объекты используются?
>

Правильно. И объекты тут ни при чём.
Но "учебник" лучше всё-таки иметь под рукой.


 
н083нький   (2009-01-19 03:12) [4]

согласен :) спасиб0


 
Юрий Зотов ©   (2009-01-19 06:29) [5]

> н083нький   (19.01.09 03:12) [4]

Любая объектная переменная, даже если она является элементом массива (да и вообще чем угодно) фактически представляет собой типизированный указатель. Это означает, что она хранит в себе не сам объект, а его адрес в памяти; сам же объект хранится отдельно (по этому адресу) и ни про какие там переменные даже и не знает ничего (тем более, что их может быть и не одна, а сколько угодно).

Поэтому в Вашем массиве реально хранятся не сами объекты, а их адреса в памяти. То есть, обыкновенные целые числа.

Что из этого следует - видимо, уже ясно.
:о)



Страницы: 1 вся ветка

Текущий архив: 2009.03.01;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.013 c
8-1191434843
Efir
2007-10-03 22:07
2009.03.01
Сохранить TGPBitmap в файл


6-1165429197
DriveR_F
2006-12-06 21:19
2009.03.01
Подкажите как POST запрос в IdHTTP


2-1231928496
СержК
2009-01-14 13:21
2009.03.01
Не получается отобразить картинку в компонетте: Image


2-1232213642
Новичек
2009-01-17 20:34
2009.03.01
Область со значками неких объектов


6-1199970944
samalex
2008-01-10 16:15
2009.03.01
Закачать файл на LINUX