Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.007 c
2-1232090677
Шакал
2009-01-16 10:24
2009.03.01
Замостить Timage


4-1206374073
MihaelSA
2008-03-24 18:54
2009.03.01
Пример хука на CreateProcess или ZwCreateProcess


15-1230563064
Sergey Masloff
2008-12-29 18:04
2009.03.01
Поставил елку. Все теперь НГ неотвратим как крах империализма.


3-1215956504
Olegus
2008-07-13 17:41
2009.03.01
IB API


15-1230469106
NailMan
2008-12-28 15:58
2009.03.01
Вопрос владельцам балонных пневматических пистолетов




   Наверх