"zmienna zmiennej" - cos jak $$ w PHP

0

Chcialbym sie dowiedziec, czy jest w Delphi cos takiego jak zmienna zmiennej (w PHP jest to $$nazwa_zmiennej). Jezeli nie w Delphi, to moze w C++ jest cos takiego?

0

chodzi ci o zmienne przechwuwujace adresy zmiennych? nazywa sie to wskaznik, powinno byc cos na 4p.
jest tez chyba jeszcze cos, pointer czy cos takiego

0
var
  Zmienna: Word; //2 bajty
  Wskaznik: Pointer;
begin
  Zmienna:=1234;
  Wskaznik:=@Zmienna; //Przypisanie adresu w pamięci
  Word(Wskaznik^):=5678; // Teraz Zmienna ma wartosc 5678

  // ciekawe sztuczki:
  Byte(Wskaznik^):=$AB; //wartosc hex $AB (0xAB w C, \xAB w PHP), wstawiona w pierwszy bajt
  Byte(Pointer(Integer(Wskaznik)+1)^):=$CD; //przesuniecie wskaznika o 1 bajt do przodu i wpisanie $CD
 //w efekcie Zmienna ma wartosc $CDAB (little endian: w pamieci jest $ABCD, ale bajty sa odwaracane), czyli 52651
end;
0

Chodzi mi o to:

abc := 'test';

z := 'abc';

(i taraz napisze jak jest to w php): $x = $$z; czyli do zmiennej X przyrownuje zmienna o nazwie wartosci zmiennej z

czyli w takim wypadku zmienna x mialaby wartosc 'test'.

0

Dokładnie w ten sposób się nie da... Chociażby dlatego, że gotowy skompilowany plik binarny nie zawiera nazw zmiennej (Nikomu to do szczęścia niepotrzebne) natomiast tak jak pisali przedmówcy (przedpiszcy trochę głupio brzmi :) ) możesz wykorzystać wskaźniki. Jak nie pojmujesz podanych wyżej kodów, to przejrzyj jakiś podręcznik/kurs do języka, w którym chcesz to napisać (pointery są zarówno w Pascalu jak i w C).

1 użytkowników online, w tym zalogowanych: 0, gości: 1