Delphi простая эквивалентность типов данных - PullRequest
0 голосов
/ 15 декабря 2018

В Delphi, если X и Y являются целыми числами, как мне написать код, чтобы X и Y указывали на одну и ту же область памяти?Так что если я скажу:

Y := 3;
X := 6;
write(Y);

, результат будет 6?Насколько я понимаю, поведение по умолчанию для простых назначений типов в Delphi - по значению, а не по ссылке.

1 Ответ

0 голосов
/ 15 декабря 2018

Чтобы переменная имела тот же адрес, что и другая переменная, используйте директиву absolute:

var
  Y: Integer;
  X: Integer absolute Y;
..
  Y := 3;   // X = 3
  X := 6;   // Y = 6

В качестве альтернативы вы можете использовать указатели, чтобы иметь возможность произвольно указывать на область памяти:

var
  Y: Integer;
  X: PInteger;
begin
  Y := 6;
  X := @Y;
  Write(X^);   // 6
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...