Avevi ragione...
il codice giusto è
codice:
int *a = new int;
*a = 10;
delete a;
In definitiva, ogni puntatore deve essere prima inizializzato allocando la memoria che gli serve.
Ora queste cose sui puntatori mi sono piu' chiare. Thank you!
Ora che ci penso
codice:
int *a = new char;
Cosa succede? Allochi una quantità sbagliata?
In C invece si faceva cosi, giusto?
codice:
int *a = malloc ( sizeof( int ) );
Mettiamo caso che sono pazzo, voglio fare un programma che allochi tutta la memoria del pc e quindi lo faccio bloccare.
Come si deve fare?
codice:
void *a = malloc ( 1023982109382109380913821 );
Una cosa cosi può andare bene?
Altra domanda...
Il garbage collector di java e c# gestiscono in automatico la memoria e la liberano ogni volta che tutti i riferimenti a un oggetto scompaiono. Ho sentito che anche il C++ si può dotare di un Garbage Collector...sapete dove e come?
Come funziona il garbage collector?
Un esempio di codice?