Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Wskaźniki wskazujące na strukturę .

Ostatnio zmodyfikowano 2010-04-04 20:33
Autor Wiadomość
kamillo121
Temat założony przez niniejszego użytkownika
Wskaźniki wskazujące na strukturę .
» 2010-04-03 20:31:12
Przyjmijmy, że mamy takie "drzewko wskaźników"  już ulokowane w pamięci
C/C++
1 wsk1a = NULL; /* pierwszy egzemplarz struktury COS */
int dane;
wsk1b = new COS;

2 wsk2a = wskaznik_na_COS_pierwsze; /*drugi egzemplarz COS */
int dane;
wsk2b = new COS;

3 wsk3a = wskaznik_na_COS_drugie; /* trzeci egzemplarz COS*/
int dane;
wsk3b = NULL;
    
I teraz moje pytanie :
Po drzewku poruszamy się aktualnym wskaźnikiem , aktualny wskaźnik wskazuje
 domyślnie na ostatnią strukturę (nie ma zapisanego tutaj tego wskaźnika
   po prostu chce bardziej przybliżyć o co mi chodzi)
Jeżeli aktualny_wskaźnik wskazuje na strukturę 3 , przypisujemy mu
 
C/C++
aktualny_wskaznik = wsk3a;
Od teraz wskazuje na drugą strukturę i tak w obydwie strony .
No dobrze ale gdy aktualny wskaźnik jest na strukturze 2 i wywołam
C/C++
delete wsk2b;
To struktura 3 powinna zostać usunięta , i PAMIĘĆ ZWOLNIONA.
Tak jest w rzeczywistości ?


(te wskaźniki są nazwane tak dla przykładu co bym lepiej mógł nakreślić zagadnienie)
np:
wska;
int dane;
wskb;
to jedna struktura :)

Wymyśliłem sobie takie powiązanie i nie wiem jak to się nazywa więc
dlatego taka nazwa tematu


Klasa na obsługę czegoś takiego prawie już skończyłem ale chce wiedzieć
   czy  po "odłączeniu" jednej struktury  tak struktura dalej będzie egzystować w pamięci, przy "przerywaniu" złączaniu takiego powiązania mogło by trochę pamięci "uciekać" :)
P-15774
malan
» 2010-04-03 21:17:33
Sprawdzałeś? :)
P-15782
kamillo121
Temat założony przez niniejszego użytkownika
» 2010-04-03 21:20:33
Znaczy klasa działa , ale nie potrafię wykryć tego czy pamięć "ucieka" , dlatego myślałem , że ktoś z doświadczeniem na podstawie teorii potrafi wywnioskować to :)
P-15784
Elaine
» 2010-04-03 21:21:51
Pod Visualem jest funkcja _CrtDumpMemoryLeaks...
P-15786
kamillo121
Temat założony przez niniejszego użytkownika
» 2010-04-03 21:23:16
Ja w CodeBlocks siedzę ale jak tak mówisz to najwyżej szybko zainstaluje..
A tej funkcji  prosto się używa ? (tak z ciekawości pytam :D)
P-15787
Elaine
» 2010-04-03 21:24:51
Wpisz tę nazwę w google i wejdź w pierwszy link, przekonasz się...
P-15789
kamillo121
Temat założony przez niniejszego użytkownika
» 2010-04-03 21:27:47
W miarę , spróbuje się z tym pobawić.
P-15790
kamillo121
Temat założony przez niniejszego użytkownika
» 2010-04-04 20:33:06
Iname ! Chyba dzięki tobie zacznę używać Visuala a nie CodeBlocks !
Dzięki za pomoc, sprawdziłem i (po małej poprawce) nie przepuszcza nic pamięci, oczywiście ufając tej funkcji  ;) (celowo porobiłem kilka niedopatrzeń co by się nauczyć rozpoznawać błędy )
Dzięki jeszcze raz!
P-15820
« 1 »
  Strona 1 z 1