Kezdőoldal » Számítástechnika » Programozás » C-ben és C++-ban miért vagy...

C-ben és C++-ban miért vagy mikor jó pointereket használni sima változók, referenciák vagy adattagok helyett?

Figyelt kérdés

2019. máj. 8. 15:18
 1/5 anonim ***** válasza:
Akkor, ha a memória kezelését te akarod intézni a programban. Pl ha két objektumban egy-egy referencia egymásra mutat, soha az életben nem fog megszűnni az objektum, sok ilyen memóriaszivárgáshoz vezet. Ilyenkor jobb, ha te mondod meg, hogy az objektum ettől eddig élt.
2019. máj. 8. 15:43
Hasznos számodra ez a válasz?
 2/5 A kérdező kommentje:
Erre a konkrét példára van kitalálva a weak smart pointer, ha jól tévedek?
2019. máj. 8. 15:44
 3/5 anonim ***** válasza:

c-ben nem hiszem hogy létezik weak pointer, ha mégis, akkor is erősforrásigényesebb, ami c programoknál néha gond lehet. C++ban is nem alap nyelvi elem, be kell include-olni, és abban sem vagyok biztos, hogy az ISO c++ szabványban benne van, és nem későbbi-e. Emellett a használata is macerásabb.

Egyébként meg egyszerűen akkor használjuk, ha az objektumot/változót az adott függvényen kívül akarjuk használni. Ebben az esetben dereferálás után hozzáfér akinek átadtuk.

2019. máj. 8. 23:36
Hasznos számodra ez a válasz?
 4/5 A kérdező kommentje:

"ha az objektumot/változót az adott függvényen kívül akarjuk használni"


Tehát definiálunk egy pointert egy függvényben, feltöltjük valamilyen adattal és a címét adjuk vissza?


Ez effektíve olyan, mintha egy globális változó élettartamát szűkítenénk le?

2019. máj. 9. 09:29
 5/5 anonim ***** válasza:

"Tehát definiálunk egy pointert egy függvényben, feltöltjük valamilyen adattal és a címét adjuk vissza?"


Igen, ezt jelenti.

Nem, nem sok köze van a globális változókhoz, a globális változók definiáláskor alapértelmezett 0 értéket kapnak, és más memóriaterületen vannak. Ezen felül a globális változót mindenki látja, amit átadsz pointerrel, azt meg csak aki megkapja.

2019. máj. 9. 17:51
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, 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!