Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Referencja jako argument - czy jest tworzona kopia?
-lukasamd-
post
Post #1





Goście







Witam,
mam takie oto coś - jest sobie funkcja, która jako argument pobiera np. tablicę.
W ramach działania funkcji tablica ta nie jest modyfikowana.
Wiem, że w takiej sytuacji nie następuje w pamięci stworzenie kopii lokalnej tej tablicy.


Teraz drugi przypadek - znowu argumentem jest tablica, ale zostaje ona w ramach funkcji zmodyfikowana.
Zgodnie z kilkoma podręcznikami w takiej sytuacji tworzona jest lokalna kopia tablicy, na której to zachodzą te zmiany.
Jeżeli zmiany są niewielkie to i tak zajmuje to 2x tyle pamięci co poprzednio.


No i przypadek do którego mam pytanie: świadomie jako argument podajemy referencję do tablicy.
Jeżeli dobrze myślę, to tu nie ma potrzeby robienia żadnej kopii, więc wszelkie zmiany z definicji są od razu zapisywane w przekazywanej tablicy globalnie.
Nie zwiększamy użycia pamięci.
Mam rację, czy się mylę?


No i jak wygląda ta sama kwestia w wypadku obiektów?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 12:54