| -lukasamd- |
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? |
|
|
|
lukasamd [PHP] Referencja jako argument - czy jest tworzona kopia? 18.01.2011, 18:28:34
Crozin Obiekty zawsze przekazywane są przez referencję. J... 18.01.2011, 18:51:30
lukasamd Dzięki
Co do uwagi - wiem, ale tu w grę wchodzi ... 18.01.2011, 18:55:49 ![]() ![]() |
|
Aktualny czas: 20.12.2025 - 20:38 |