Kezdőoldal » Számítástechnika » Programozás » Segítség mi a különbség? C++

Segítség mi a különbség? C++

Figyelt kérdés

Madar *pMadar[1] = {hozzárendelünk egy memóriacímet egy olyan objektum címét ami a dinamikus memóriában van};


delete pMadar; //így mit csinálok?Törlöm azt az objektumot ami memóriacímen van?


Ha igen akkor a tömb első elemében a memóriacím már valahová máshova mutat?


Akkor a biztonság kedvéért rendeljem hozzá a 0 -t?


Lécike írjatok.


2012. jún. 12. 13:25
 1/5 iostream ***** válasza:
Undefined behaviort csinálsz, ami azt jelenti, hogy onnantól invalid a program állapota.
2012. jún. 12. 13:29
Hasznos számodra ez a válasz?
 2/5 A kérdező kommentje:

És így:

delete *pMadar; //Így is undefined behavior?

Így már a memóriacímen levő objektumot törlöm ugye?


És ha töröltem akkor a pMadar ban levő memóriacím már egy más helyre mutat ugye.Ezért így ez veszélyes de ha törlés után felülírom a NULL al akkor már nem ugye?

2012. jún. 12. 13:45
 3/5 iostream ***** válasza:
Igen, úgy törlöd az objektumot (bár törölheted így is: delete pMadar[0];, és nem mutat máshova, ugyanoda mutat, csak már érvénytelen terület lesz az). Hogy 0-ra akarod-e állítani, az attól függ, később még használod-e azt a tömböt.
2012. jún. 12. 14:57
Hasznos számodra ez a válasz?
 4/5 anonim ***** válasza:
tömbnél a delete[]-t kell használni
2012. jún. 12. 15:57
Hasznos számodra ez a válasz?
 5/5 anonim ***** válasza:
egy elemnél meg a delete-t
2012. jún. 12. 15:59
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!