Mam wskaźnik wskazujący na tablicę i inny wskaźnik odwołujący się do tej samej tablicy. Jak usunąć jeden z tych wskaźników bez zabicia tablicy tak, że drugi undeleted wskaźnik nadal działa?Jak usunąć wskaźnik bez usuwania danych wskazywanych przez wskaźnik?
na przykład:
int* pointer1 = new int [1000];
int* pointer2;
pointer2 = pointer1;
Teraz chcę się pozbyć pointer1, jak mogłoby zrobić to tak, że mogę nadal korzystać tablicę normalnie przez pointer2?
Ahh to wyjaśnia to najlepiej dla mnie. Zatem wskaźnik jest po prostu zmienną na stosie, co ma sens. Oznacza to, że nie można uzyskać dostępu poza zakresem i nie będę go używać przypadkowo poza zakresem i powodować problemy. Ok dziękuję. – Faken
@ Faken- Aby było jasne, "wskaźnik jest po prostu zmienną na stosie" nie jest prawdziwym stwierdzeniem. Wskaźnik w kodzie przykładowym jest zmienną stosu, ponieważ zadeklarowano ją statycznie. Wskaźnik można również zadeklarować dynamicznie, jak pokazuje Neil Butterworth w swoim przykładzie. Wszystko zależy od tego, jak je zadeklarujesz, nie ma nic szczególnego w tym, że obiekt jest wskaźnikiem. – bta
@bta: Nie widzę niczego zadeklarowanego statycznie. Być może masz na myśli "automatyczny", rzeczywisty termin. (Oznacza to, że rzeczy nie są przydzielane w stosach, ale są przydzielane automatycznie.) – GManNickG