ora le cose sono un po' piu' chiare...
quello che non ho capito e':
con malloc e free io sono libero di deallocare in ogni momento una variabile per poter riutilizzare lo stesso indirizzo di memoria per altre cose.
con new all'interno dei costruttori questo non lo posso fare perche' devo aspettare per forza che il distruttore si chiami automaticamente.
A questo punto non capisco l'importanza di allocare memoria...a sto punto dichiaro delle variabili normali...
sara' forse un errore concettuale ma io penso all'allocazione (e quindi alla deallocazione) quando devo usare una variabile che poi per tutto il resto del programma non mi servira' piu'...e quindi la uso e poi la dealloco.
con il new nel costruttore io non sono libero di deallocarla quando la voglio perche' ci pensa il distruttore a deallocare...
A questo punto che differenza c'e' tra int* prova= new int(0) e un int prova=0 se poi entrambe cessano di esistere quando cessa lo scope (una per via del distruttore...l'altra per i meccanismi tradizionali)???
Spero di essere stato chiaro... perche' una risposta non l'ho trovata da nessuna parte...tutti mi dicono cos'e' un costruttore...cos'e' l'allocazione dinamica...ma non mi aiutano a chiarire questo mio dubbio.
Se volete posso postare due codici-esempio per esplicitare il tutto.
grazie comunque a tutti per le risposte