Jak zwolnić pamięć

dział ogólny

Jak zwolnić pamięć

Nowy postprzez Corvis » czwartek, 1 marca 2012, 12:44

KOD cpp:     UKRYJ  
double** matrix = new double*[stopien_w];
for(i=0; i<stopien_w; i++) matrix[i] = new double[stopien_w];
double* wekt = new double[stopien_w];


Witam,

Mam taki o to kod ( znalazłem w necie ) może mi ktoś napisać jak zwolnić tą pamięć ?????? bo pojęcia nie mam :(

Pozdrawiam,
"Sukcesy trwają, dopóki ich ktoś nie spieprzy. Porażki są wieczne"

Dr Gregory House
Avatar użytkownika
Corvis
Programista I
Programista I
 
Posty: 880
Dołączył(a): sobota, 26 lipca 2008, 00:31
Podziękował : 80
Otrzymał podziękowań: 30
System operacyjny: WINDOWS 7 64-bity
Kompilator: Praca - C++ Builder XE2 ENTERPRISE - Update 4, Dom - C++ Builder XE4 - Uddate 1
Gadu Gadu: 0
    Windows 7Chrome

Re: Jak zwolnić pamięć

Nowy postprzez polymorphism » czwartek, 1 marca 2012, 14:22

Zaskakujesz mnie, Corvis :( Najpierw zwalniasz po kolei wszystkie wiersze, tak jak zwykłe tablice, w pętli, a później zwalniasz tablicę matrix. Po tylu latach takie rzeczy powinieneś wiedzieć przecież!
C++ Reference - opis wszystkich klas STL-a i funkcji C.

Za ten post autor polymorphism otrzymał podziękowanie od:
Corvis
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Re: Jak zwolnić pamięć

Nowy postprzez Corvis » poniedziałek, 5 marca 2012, 11:57

Napisałem ci przecież, że to nie jest mój kod i ja tu nic nie pisałem !!! Ja jestem uczony na std::vector i takich cudów nie robię. Nigdy nie widziałem też czegoś takiego na oczy :/
"Sukcesy trwają, dopóki ich ktoś nie spieprzy. Porażki są wieczne"

Dr Gregory House
Avatar użytkownika
Corvis
Programista I
Programista I
 
Posty: 880
Dołączył(a): sobota, 26 lipca 2008, 00:31
Podziękował : 80
Otrzymał podziękowań: 30
System operacyjny: WINDOWS 7 64-bity
Kompilator: Praca - C++ Builder XE2 ENTERPRISE - Update 4, Dom - C++ Builder XE4 - Uddate 1
Gadu Gadu: 0
    Windows 7Chrome

Re: Jak zwolnić pamięć

Nowy postprzez polymorphism » poniedziałek, 5 marca 2012, 12:37

A co to ma do rzeczy, czy to Twój kod czy nie? Mój też nie. I co z tego? Wystarczy przeanalizować go, żeby wiedzieć jak zwolnić pamięć. Do tego nie trzeba jakiejś super wiedzy o C++. To są podstawy, i Ty powinieneś je znać, bo już trochę w tym siedzisz.

Nigdy nie widziałem też czegoś takiego na oczy :/

Przecież to jest najpowszechniejsza metoda tworzenia dynamicznych tablic 2D! Nawet na wektorach będziesz takie tablice per analogiam realizował w ten sposób. Jeden wektor trzyma inne wektory, tak i tu jedna tablica trzyma wskaźniki na inne tablice. Dziwne, że tego nie wi(e)działeś...
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Re: Jak zwolnić pamięć

Nowy postprzez Corvis » poniedziałek, 5 marca 2012, 13:32

Sorry, ja nigdy nie robiłem tablic 2d dynamicznie bo mi nigdy w życiu to nie było potrzebne. Zawsze robiłem wektor w wektorze :-)

Ale faktycznie mogłem przemyśleć. I w sumie robiłem to tak jak mi powiedziałeś. Ale wywalało mi błąd. Invalid floating point operation i myślałem, że coś źle robię. Jak się okazało potem chodziło o dzielenie przez 0 :|
"Sukcesy trwają, dopóki ich ktoś nie spieprzy. Porażki są wieczne"

Dr Gregory House
Avatar użytkownika
Corvis
Programista I
Programista I
 
Posty: 880
Dołączył(a): sobota, 26 lipca 2008, 00:31
Podziękował : 80
Otrzymał podziękowań: 30
System operacyjny: WINDOWS 7 64-bity
Kompilator: Praca - C++ Builder XE2 ENTERPRISE - Update 4, Dom - C++ Builder XE4 - Uddate 1
Gadu Gadu: 0
    Windows 7Chrome


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 6 gości