Ho un puntatore che punta a una matrice ea un altro puntatore che fa riferimento alla stessa matrice. Come posso eliminare uno di questi puntatori senza uccidere l'array in modo che il secondo puntatore non cancellato funzioni ancora?Come si elimina un puntatore senza eliminare i dati a cui punta il puntatore?
ad esempio:
int* pointer1 = new int [1000];
int* pointer2;
pointer2 = pointer1;
Ora voglio sbarazzarsi di Puntatore1, come potrei farlo in modo tale che io possa continuare ad accedere alla matrice normalmente attraverso pointer2?
Ah, questo mi spiega il meglio per me. Quindi un puntatore è semplicemente una variabile in pila, questo ha senso. Questo significa che non è possibile accedervi al di fuori del campo di applicazione e che non lo utilizzerò accidentalmente fuori dal campo di applicazione e causerà problemi. Ok grazie. – Faken
@ Faken Per essere chiari, "un puntatore è semplicemente una variabile sullo stack" non è una dichiarazione vera. Il puntatore nell'esempio di codice è una variabile stack perché lo hai dichiarato staticamente. Un puntatore può anche essere dichiarato dinamicamente, come Neil Butterworth mostra nel suo esempio. È tutto nel modo in cui lo si dichiara, non c'è niente di speciale nell'essere un puntatore. – bta
@bta: non vedo nulla dichiarato staticamente. Forse intendi "automatico", il vero termine. (Ovvero, le cose non sono allocate allo stack, ma vengono allocate automaticamente.) – GManNickG