<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Speicherfreigabe bei Design von Model]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich habe ein Model, das bestimmte Objekte und deren Farben zurückliefert.<br />
Die einzelnen Objekte sind von dem Model erzeugt worden und sollen auch<br />
später durch jenes gelöscht werden (RAII).<br />
Jetzt möchte ich aber Objekte in der GUI in dem Model selektieren können.<br />
Dazu habe ich mir gedacht, dass ich ein weiteres Model implementiere,<br />
das einfach ein derartiges Model kapselt und falls es selektiert ist, ein neues<br />
Objekt erzeugt, das alle Daten des originalen kapselt, aber die Farben manipuliert.<br />
Nur dann wird ja genau diese Objekt nicht mehr freigegeben <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
Wie würdet ihr dieses Problem lösen? Also das Design in shared_ptr zu ändern finde ich blöd. Einen Selektion-Listener, den mein neues Model implementiert,<br />
der bei Deselektion diese Objekte wieder freigibt finde ich schon besser.</p>
<p>Wie würdet ihr das machen? Welche VErsion würdet ihr bevorzugen?<br />
Evtl. andere Vorschläge?</p>
<p>Gruß,<br />
*Cpp-Anfänger*</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/207330/speicherfreigabe-bei-design-von-model</link><generator>RSS for Node</generator><lastBuildDate>Sun, 11 Oct 2026 03:55:53 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/207330.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 06 Mar 2008 09:31:22 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Speicherfreigabe bei Design von Model on Thu, 06 Mar 2008 09:31:22 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich habe ein Model, das bestimmte Objekte und deren Farben zurückliefert.<br />
Die einzelnen Objekte sind von dem Model erzeugt worden und sollen auch<br />
später durch jenes gelöscht werden (RAII).<br />
Jetzt möchte ich aber Objekte in der GUI in dem Model selektieren können.<br />
Dazu habe ich mir gedacht, dass ich ein weiteres Model implementiere,<br />
das einfach ein derartiges Model kapselt und falls es selektiert ist, ein neues<br />
Objekt erzeugt, das alle Daten des originalen kapselt, aber die Farben manipuliert.<br />
Nur dann wird ja genau diese Objekt nicht mehr freigegeben <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
Wie würdet ihr dieses Problem lösen? Also das Design in shared_ptr zu ändern finde ich blöd. Einen Selektion-Listener, den mein neues Model implementiert,<br />
der bei Deselektion diese Objekte wieder freigibt finde ich schon besser.</p>
<p>Wie würdet ihr das machen? Welche VErsion würdet ihr bevorzugen?<br />
Evtl. andere Vorschläge?</p>
<p>Gruß,<br />
*Cpp-Anfänger*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1469182</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1469182</guid><dc:creator><![CDATA[*Cpp-Anfänger* 0]]></dc:creator><pubDate>Thu, 06 Mar 2008 09:31:22 GMT</pubDate></item><item><title><![CDATA[Reply to Speicherfreigabe bei Design von Model on Thu, 06 Mar 2008 09:39:22 GMT]]></title><description><![CDATA[<p>Wieso konstruierst du dir nicht einfach einen View auf das Model, so das der View dann die Objekte darstellt.<br />
Natürlich darf das Model die Objekte nicht freigeben, die im View sind.</p>
<p>Evtl. könntest du mal etwas Code zeigen, um dein Problem klarer darzustellen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1469188</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1469188</guid><dc:creator><![CDATA[phlox81]]></dc:creator><pubDate>Thu, 06 Mar 2008 09:39:22 GMT</pubDate></item><item><title><![CDATA[Reply to Speicherfreigabe bei Design von Model on Thu, 06 Mar 2008 09:50:09 GMT]]></title><description><![CDATA[<p>hi phlox81,</p>
<p>danke für die Idee, ich werde mir meine Gedanke dazu machen.</p>
<p>Code kann ich leider erst heute abend posten.</p>
<p>Gruß,<br />
*Cpp-Anfänger*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1469193</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1469193</guid><dc:creator><![CDATA[*Cpp-Anfänger* 0]]></dc:creator><pubDate>Thu, 06 Mar 2008 09:50:09 GMT</pubDate></item><item><title><![CDATA[Reply to Speicherfreigabe bei Design von Model on Thu, 06 Mar 2008 11:20:25 GMT]]></title><description><![CDATA[<p>phlox81 schrieb:</p>
<blockquote>
<p>Wieso konstruierst du dir nicht einfach einen View auf das Model, so das der View dann die Objekte darstellt.<br />
Natürlich darf das Model die Objekte nicht freigeben, die im View sind.</p>
</blockquote>
<p>Dies sind die Momente wo ich Smartpointer empfehlen kann.</p>
<p>Wenn man im Model die Elemente, die nach außen weitergegeben werden über einen Smartpointer mit Referenzzählung (z.B. boost::shared_prt, std::tr1::shared_ptr) verwaltet und diese Elemente auch so weitergibt, ist sichergestellt das die Freigabe erfolgt wenn keiner mehr darauf zugreift.</p>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1469262</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1469262</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Thu, 06 Mar 2008 11:20:25 GMT</pubDate></item><item><title><![CDATA[Reply to Speicherfreigabe bei Design von Model on Thu, 06 Mar 2008 12:45:21 GMT]]></title><description><![CDATA[<p>asc schrieb:</p>
<blockquote>
<p>phlox81 schrieb:</p>
<blockquote>
<p>Wieso konstruierst du dir nicht einfach einen View auf das Model, so das der View dann die Objekte darstellt.<br />
Natürlich darf das Model die Objekte nicht freigeben, die im View sind.</p>
</blockquote>
<p>Dies sind die Momente wo ich Smartpointer empfehlen kann.</p>
<p>Wenn man im Model die Elemente, die nach außen weitergegeben werden über einen Smartpointer mit Referenzzählung (z.B. boost::shared_prt, std::tr1::shared_ptr) verwaltet und diese Elemente auch so weitergibt, ist sichergestellt das die Freigabe erfolgt wenn keiner mehr darauf zugreift.</p>
<p>cu André</p>
</blockquote>
<p>Sehe ich ähnlich, nur müsste man dann auch im Model komplett auf Smartpointer setzen. Eine Liste an Objekten im Model könnte aber genauso gut z.b. ein boost::ptr_vector sein.<br />
Evtl. ist es auch praktikabel den View nur als Observer umzusetzen, falls es eine reine Darstellung ist.</p>
<p>phlox</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1469341</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1469341</guid><dc:creator><![CDATA[phlox81]]></dc:creator><pubDate>Thu, 06 Mar 2008 12:45:21 GMT</pubDate></item></channel></rss>