Oppure

Loading
27/01/15 15:38
alfredo.liardo
Salve
Volevo sapere se c'era un modo per evitare di usare * per accedere ad un oggeto istanziato dinamicamente con la new
Per esempio
MiaClasse* obj = new MiaClasse();
MiaClasse * obj2 = new MiaClasse();
bool flag = *obj != *obj2;

Come faccio ad utilizzare le istanze senza anteporre l'asterisco?
aaa
14/02/15 20:22
Dario DF
Salvo l'abbreviazione per accedere ai membri:

obj1->funzione();
obj1->variabile = 10;


al posto di:

(*obj1).funzione();
(*obj1).variabile = 10;


non mi pare che ci siano soluzioni, salvo il caso che questo valore non venga passato ad una funzione, a quel punto se il tipo del parametro è MiaClasse& allora all'interno è usata come una variabile (e non può essere passato null alla funzione)
aaa
14/02/15 21:56
lumo
Devi necessariamente instanziarlo dinamicamente?
Comunque per i curiosi, in C++11 si potrebbe fare una cosa del genere
MiaClasse& obj = *std::auto_ptr<MiaClasse>(new MiaClasse());

Così obj avrebbe la stessa semantica di un oggetto costruito sullo stack, sempre che quella roba compili.
aaa