Hogyan kell ez üresnek initializálni (C++)?
Figyelt kérdés
class akarmi {
std::vector<std::set<int > param;
public:
akarmi();
};
akarmi::akarmi() : param(0) {}
vagy
akarmi::akarmi() : param() {}
vagy mindegy?
2012. jún. 15. 18:37
1/6 _Jessy_ válasza:
class akarmi {
std::vector<std::set<int > param;
public:
akarmi();
};
már ez így rossz, ahogy van, a hiba megkereséssét rád bízom :)
Egyébként mi az ami üres kellene hogy legyen? Az objektum param tagja? Az üres lesz az osztály példányosítása után.
Ha az osztály konstuktorának implementációjára gondoltál, akkor pedig:
akarmi::akarmi(){}
2/6 iostream válasza:
A nem-beépített típusú tagok alapból default konstruktorral jönnek létre, ha mást nem mondasz, és ez a setnél üres állapotot jelent.
3/6 A kérdező kommentje:
igen, lemaradt egy >
nem set, hanem vektor a param, az is üresen jön létre?
2012. jún. 16. 11:29
4/6 A kérdező kommentje:
De azért érdekelne, hogy az általam írt két megoldás ekvivalens-e, illetve szintaktikailag jó-e, és hogy ugyanaz-e mint amit ti mondotok?
2012. jún. 16. 11:30
5/6 _Jessy_ válasza:
igen, jó megoldás, attól függően, hogy milyen célt kell szolgáljon. És igen, a vector is üres lesz.
6/6 _Jessy_ válasza:
és ez:
akarmi::akarmi() : param(0) {} és
akarmi::akarmi() : param() {} és
akarmi::akarmi(){} is jó,
mindhárom esetben egy üres vector lesz a param.
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!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!