Kezdőoldal » Számítástechnika » Programozás » Ha egy osztály adatai között...

Ha egy osztály adatai között standard konténerek vannak, akkor destruktort kell írni, hogy azokat megszüntessük?

Figyelt kérdés

2012. jún. 28. 14:52
 1/5 anonim ***** válasza:

"egy osztály adatai között" egy osztály adattagjai között

Ha van ami dinamikusan van példányosítva, akkor kell vagy ha valamilyen erőforrást birtokol (pl. file) akkor ezt az erőforrást fel kell szabadítani a destruktorba.

2012. jún. 28. 17:06
Hasznos számodra ez a válasz?
 2/5 A kérdező kommentje:
simán egy standard vektor/map/set stb-ről beszélek.
2012. jún. 29. 07:41
 3/5 iostream ***** válasza:
Próbáld megírni a destruktort, és hamar rájössz. Te hogy szüntetnéd meg őket?
2012. jún. 29. 10:09
Hasznos számodra ez a válasz?
 4/5 A kérdező kommentje:
Gondolom meg kéne hívni pl. a vector destructor-ját, vagy az automatikusan meghívódik úgy is, erre céloztál?
2012. jún. 29. 10:47
 5/5 iostream ***** válasza:

Arra próbállak rávezetni, hogy nincs értelmes szintaxis erre, tehát nyílván nem értelmes a szcenárió:


class A

{

public:

A()

{//ezen a ponton a myVec már létezik és inicializálva van, azaz lefutott a konstruktora


}

~A()

{

//ide mi jön? myVec.~vector ??

}//és ezen a ponton szűnik meg a létezése, és fut le a destruktora

private:

std::vector<int> myVec;

};


Szóval igen, az adattagok élettartama a tartalmazó objektum élettartamához van kötve, a konstruktor törzse előtt jönnek végre, és a destruktor után destruálódnak, fordított sorrendben.

2012. jún. 29. 12:03
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!