Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Programm stürzt ab, jedoch im debuger modus funktionierts

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 <
010
18.11.2009, 20:05 Uhr
0xdeadbeef
Gott
(Operator)


boost::ptr_vector und seine Geschwistercontainer übernehmen konzeptionell den Besitz der Objekte, die in ihnen verstaut werden. Das heißt, ein Objekt darf nur in einem solchen Container liegen, sonst kann dabei alles mögliche rauskommen.

Für einen use case wie den deinen ist ptr_vector daher denkbar ungeeignet. Verstau die Objekte in std::tr1::shared_ptr bzw. boost::shared_ptr und stopf den in std::vector oder etwas in der Art.

Außerdem wundere ich mich ein bisschen, warum du in Gen einen Zeiger auf std::string und nicht stumpf einen std::string aufbewahrst.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
19.11.2009, 00:29 Uhr
lordZ



hallo,

hmja shared_ptr wär sicher die bessere wahl gwesen, umstellung dürft eh nicht so ein problem werden. als ich mich damals für ptr_vector entschieden hab, hab ich nicht an sowas wie speichermanagement gedacht. anfängerfehler

das hauptproblem war jedoch dass ich mit Population.clear() natürlich nur die Gens freigegeben habe, die enthaltene string* dna nicht.
testlauf ist grad in der 5000ten generation, mit 10 pools zu je 500 genen (200 bits lang)
prozess ist grad bei 10mb angelangt. startgröße war 5mb.

((ohne delete(dna) hatte er nach 1000 durchläufe meine 2gb ram aufgefressen.
aber die ausgabe "This application has requested the runtime to terminate it in an unusual way" hatte ich bis heute auch noch nie ))

werd die dna noch als bool array implementieren, da dürften auch noch ein paar bytes zu holen sein.

Dieser Post wurde am 19.11.2009 um 00:30 Uhr von lordZ editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: