Ezeket én mind jól tudom? Azért kérdem mert nem vagyok biztos magamban.
1.
A változó:
A változó típusára azért van szükség,hogy tudja a fordító mekkora memóriát kell lefoglalnia a veremben.A változó neve pedig nem más mint egy hivatkozás arra a memóriaterületre amit lefoglalt a fordító.Tehát valójában a változó neve nem más mint egy szinonima arra a memóriacímre ahol tárolódik az adat.De a mutatóval ellentétben a sima változóknál csak a memóriaterületen tárolt értéket olvashatjuk ki.
2.
A new kulcsszó:
A new kulcsszóval a dinamikus memóriából(heapen) lehet lefoglalni egy bizonyos méretű területet amibe majd adatokat tölthetünk.A new kulcsszó után levő típus jelzi a fordítónak,hogy hány byte területet kell lefoglalnia a dinamikus memóriából.És a new kulcsszó vissza ad egy memóriacímet ami a lefoglalt terület memóriacíme.
3.
A mutató:
Ezt nem nagyon értem.
A mutató az egy olyan változó ami memóriacímet tárol.
Ha a mutató is egy változó fajta akkor a mutató neve egy szinonima arra a memóriaterületre ami le lett foglalva.
Csak a mutató vissza tudja adni a memóriaterületen levő értéket és annak a memóriaterületnek a címét is.
A közvetlen elérési operátorral(*) lehet megmondani a fordítónak,hogy mikor melyiket akarjuk kinyerni a memória címét vagy a memóriában tárolt adatot.
Azt nem tudom,hogy minek van a mutatónak típusa.
Tipp:
Azért mert a fordítónak közölni kell milyen típushoz igazítsa a mutatót.
Van valami amit rosszul mondok?
A típusra nem csak a méret miatt van szükség, hanem hogy tudja a fordító, hogy milyen típusú adatról van szó, hogyan kell tárolni, kezelni a későbbiekben.
A mutatónak azért kell típus, hogy te is tudd, meg a fordító is tudja, hogy milyen változóra (=memóriaterületre) mutat, mi a típusa, hiszen a mutatón keresztül a változót fogod használni. Kvázi a mutatós is olyan, mint egy álnév, csak többet tud: a memóriacímet.
1. A változó típusa azért is kell, hogy tudja, hogy kezelje az adott dolgot.
Valamint: értékadás baloldalán a változó neve a memóriaterület címét jelenti, máshol viszont az értékét az objektumnak.
2. A new-nak azért is kell típus, mert meghívja a konstruktort is (a new kifejezés három dolgot végez: a new operátorral területet foglal, ráhívja a konstruktort, visszaad egy pointert rá).
3. A mutató egy olyan változó, ami egy címet tárol. Tehát a neve nem a lefoglalt terület "szinonímája", hanem a lefoglalt terület címének. A cím egy külön 4-8 byteos adat, másolható, manipulálható (bár ez nem szép dolog). & operátorral ki tudod nyerni bármilyen objektumnak a címét, ahogy * operátorral ki tudod nyerni a mutatott objektumot.
A mutató típusa azért kell, hogy a fordító tudja, mire mutat a mutató. void*-al viszonylag kevés dolgot lehetne elintézni.
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!