Kezdőoldal » Számítástechnika » Programozás » Mire jók a pointerek? Miért...

Mire jók a pointerek? Miért hasznosak? (C++)

Figyelt kérdés
Most tanuljuk a pointereket, nagyjából tudom használni őket, de még mindig nem értem hogy tulajdonképp ezek mire is jók, miért hasznosak. Ramutatnak címekre, oké, de ez miért jó nekünk?

2019. nov. 24. 08:33
 1/3 anonim ***** válasza:
17%

Annyi, de annyi helyre le van már írva.

Muszáj gyártani a szemetet?

2019. nov. 24. 08:53
Hasznos számodra ez a válasz?
 2/3 anonim ***** válasza:
70%

"Ok, I will explain with a simple example.

So, if some person asks you where do you stay, will you answer with a copy of your home or with an address of your home ?


Now, which is easy?


Similarly, with respect to technical point of view, you have a 1 MB object. When you want to use it for anything, is it good to operate directly on existing object using pointer to it or creating a copy of it and using it?


Hope this helps."


Googleön első találat. Lusta voltam megírni a saját válaszom, de jól összefoglalja a "mért hasznosak" részt.

2019. nov. 24. 13:22
Hasznos számodra ez a válasz?
 3/3 anonim ***** válasza:
93%

"Ramutatnak címekre, oké, de ez miért jó nekünk?"

Az adatok a memóriában vannak tárolva. Ezeket (alacsony szinten, pl. C-ben) kétféle módon lehet elérni:

- előre definiált szimbólummal (változónévvel), vagy

- pointerrel.

A változónév praktikus, de nem mindig lehet használni. Például ha van egy dinamikus listád, akkor egy elem csak pointerrel tud a szomszédjaira mutatni. Vagy ha gráfot vagy fát állítasz össze futás közben, akkor is pointerek valósítják meg a csomópontok kapcsolatait. De tömb elemeit is relatív pointerrel érjük el, a háttérben a pointer aritmetika valósítja meg.

Alacsony szinten a processzor pl. csak pointerekkel ér el bármit is a memóriában. Ott már a változónevek is "fel vannak oldva", le vannak cserélve pointerekre. Nagyon pongyola megfogalmazásban a változónév is egy pointer, csak nevet adtunk neki. Tuképpen még a lokális változók is a stack pointerhez képesti relatív címekké fordulnak.

Magasabb szintű nyelvek általában elrejtik a pointereket, hogy ne kelljen foglalkozni velük, de attól még jó tudni, hogy a háttérben erősen pointer alapú a lefordított kód.

2019. nov. 26. 01:49
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!