.[ ČeskéHry.cz ].
Neuvolneni pameti po dynamicke alokaci
Jdi na stránku Předchozí  1, 2, 3
 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> C / C++
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
quas4



Založen: 18. 10. 2007
Příspěvky: 199

PříspěvekZaslal: 19. duben 2010, 10:25:55    Předmět: Odpovědět s citátem

frca napsal:
Možnost na "všechno" volat delete[], ale jak říkám, v dobře napsaném programu je to k ničemu.
PS: Když tak nad tím přemýšlím, tak s ukazatelem na pole alokovaným pomocí new[] musí být nějak spojen počet prvků, aby bylo jasné, na kolik se jich má zavolat destruktor. Nevíte, jak to překladače řeší?


obecne:
http://www.parashift.com/c++-faq-lite/compiler-dependencies.html#faq-38.7
http://www.parashift.com/c++-faq-lite/compiler-dependencies.html#faq-38.8
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Al



Založen: 23. 10. 2007
Příspěvky: 196

PříspěvekZaslal: 9. květen 2010, 14:01:20    Předmět: Odpovědět s citátem

frca napsal:
Možnost na "všechno" volat delete[], ale jak říkám, v dobře napsaném programu je to k ničemu.
PS: Když tak nad tím přemýšlím, tak s ukazatelem na pole alokovaným pomocí new[] musí být nějak spojen počet prvků, aby bylo jasné, na kolik se jich má zavolat destruktor. Nevíte, jak to překladače řeší?

No prekladac jsem neprohlizel, ale zdravy selsky rozum veli, ze tam proste pred tim pointrem, ktery vraci new[], jsou jeste nejake cca 4 bajty navic, kde je ulozen pocet prvku pole. Kdyz se pak vola delete[], prectou se ty 4 bajty pred tim pointrem a z toho se vi, kolik volat destruktoru. Samotna pamet je pochopitelne alokovana jako jediny blok v kuse, jinak by to nemohlo byt pole.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
pcmaster



Založen: 28. 07. 2007
Příspěvky: 1821

PříspěvekZaslal: 9. květen 2010, 17:44:58    Předmět: Odpovědět s citátem

Minule sme nad tym filozofovali s par C++ znamymi Smile A dedukovali sme len presne to, co pise Al. Ze si runtime niekam "tajne" uklada aj pocet prvkov, akurat to nie je uzivatelovi pristupne, co je velka skoda (napriklad oproti Delphi a pod).
_________________
Off-topic flame-war addict since the very beginning. Registered since Oct. 2003!
Interproductum fimi omne est.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
frca



Založen: 28. 07. 2007
Příspěvky: 1552

PříspěvekZaslal: 9. květen 2010, 17:53:59    Předmět: Odpovědět s citátem

O 2 příspěvky výš to psal quas4. Je to přesně tak, jak píšete. Jeden ze způsobů je přesně takový, jak píše Al. Viz ty 2 odkazy, co poslal quas4.
_________________
www.FRANTICWARE.com
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> C / C++ Časy uváděny v GMT + 1 hodina
Jdi na stránku Předchozí  1, 2, 3
Strana 3 z 3

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna