06.01.2015 Views

IMPARARE IL C++ in 6 ore? - INFN

IMPARARE IL C++ in 6 ore? - INFN

IMPARARE IL C++ in 6 ore? - INFN

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Precauzioni.<br />

• Cerca sempre di <strong>in</strong>izializzare un puntat<strong>ore</strong> (magari anche assegnando 0<br />

quando si puo’.)(W<strong>IL</strong>D POINTERS)<br />

• Ogni puntat<strong>ore</strong> nel free st<strong>ore</strong> deve essere cancellato prima di essere<br />

riassegnato ad una nuova locazione con NEW (altrimenti non vedi la<br />

memoria occupata all’ <strong>in</strong>dirizzo del primo puntat<strong>ore</strong> f<strong>in</strong> quando il<br />

programma non term<strong>in</strong>a)<br />

• Evitare di provare ad usare un puntat<strong>ore</strong> che e’ stato precedentemente<br />

cancellato con delete senza riassegnarlo :STRAY POINTERS<br />

• Evitare di cancellare piu’ volte uno stesso puntat<strong>ore</strong>:ad ogni new c’e’ un<br />

delete.Per essere sicuri dopo un delete assegna 0 al puntat<strong>ore</strong><br />

• Se new non puo’ allocare memoria nel free st<strong>ore</strong> ritorna il puntat<strong>ore</strong><br />

nullo:qu<strong>in</strong>di mai assegnare ad un esistente puntat<strong>ore</strong> del free st<strong>ore</strong> il<br />

val<strong>ore</strong> zero.Questo significa che NON sempre e’ possibile <strong>in</strong>izializzare<br />

puntatori, ma ricordati che HAI l’obbligo di assegnarli PRIMA O POI.<br />

E’ LECITA DUNQUE ANCHE LA SINTASSI :<br />

<strong>in</strong>t *pPo<strong>in</strong>ter; //senza <strong>in</strong>izializzazione mi <strong>in</strong>forma solo che pPo<strong>in</strong>ter punta<br />

//ad un <strong>in</strong>tero<br />

pPo<strong>in</strong>ter=new <strong>in</strong>t; //crea nel free st<strong>ore</strong> Non so che val<strong>ore</strong> dargli ma non gli

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!