ciao.
Ho un dubbio.
quando un array va instanziato col new e quando no?codice:char* pstr = new char[22]; //e char* pstr[22];
ciao.
Ho un dubbio.
quando un array va instanziato col new e quando no?codice:char* pstr = new char[22]; //e char* pstr[22];
la prima istanzia l'array mentre la seconda lo dichiara solo ma la memoria non è allocata
Le due scritture fanno cose differenti ...
La prima alloca un vettore di 22 caratteri usando il puntatore pstr ...
La seconda alloca un vettore di 22 puntatori a carattere non inizializzati ...
No MP tecnici (non rispondo nemmeno!), usa il forum.
probabilmente intendi
codice:char* pstr = new char[22]; //e char pstr[22];
Ciao . . . Principalmente l' allocazione con new (cioè l' allocazione dinamica) viene usata quando la dimensione dell' array non è conosciuta a tempo di compilazione ma solo a runtime. Di contro l' allocazione statica viene usata quando la dimensione dell' array è già conosciuta a tempo di compilazione. . .
C++ 4ever
496e2062696e6172696f206e6f6e2063692061767265737469 206e656d6d656e6f2020726f7661746f203a29