<?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[unique_ptr und Lebenszeit]]></title><description><![CDATA[<p>Hallo da!<br />
Ich setze in letzter Zeit mit großer Begeisterung den neuen unique_ptr ein, für automatisierte Lebenszeitverwaltung. Ich finde außerdem toll, wie unique_ptr an Schnittstellengrenzen anzeigt, dass der &quot;Besitzer&quot; wechselt.<br />
Nun habe ich einige Schnittstellen, welche vor Objekten sitzen, die eine dynamische Anzahl von anderen Objekten besitzen (die Zeiger werden in unique_ptr'n gespeichert).<br />
Der Benutzer der Schnittstelle soll nun auf diese dynamisch erzeugten Objekte zugreifen können, wobei das Lebenszeit-Management weiterhin bei dem Objekt hinter der Schnittstelle bleiben soll. Derzeit schicke ich einfach blanke Zeiger zurück und es funktioniert auch alles, keiner der Clients lebt länger als die &quot;Server&quot;-Objekte, so ist die Software aufgebaut.</p>
<p>Allerdings frage ich mich schon, ob es nicht irgendwo eine Mischung aus unique_ptr und shared_ptr gibt (&quot;uniquely_owned_ptr&quot; oder sowas) , mit dem Unterschied, dass man deren weak_ptr nicht zu einem vollwertigen Pointer zurück-&quot;upgraden&quot; kann.</p>
<p>Hoffentlich habe ich mich verständlich ausgedrückt :).</p>
<p>Viele Grüße,<br />
deci</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/303826/unique_ptr-und-lebenszeit</link><generator>RSS for Node</generator><lastBuildDate>Mon, 10 Aug 2026 05:37:12 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/303826.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 23 May 2012 11:24:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to unique_ptr und Lebenszeit on Wed, 23 May 2012 11:24:00 GMT]]></title><description><![CDATA[<p>Hallo da!<br />
Ich setze in letzter Zeit mit großer Begeisterung den neuen unique_ptr ein, für automatisierte Lebenszeitverwaltung. Ich finde außerdem toll, wie unique_ptr an Schnittstellengrenzen anzeigt, dass der &quot;Besitzer&quot; wechselt.<br />
Nun habe ich einige Schnittstellen, welche vor Objekten sitzen, die eine dynamische Anzahl von anderen Objekten besitzen (die Zeiger werden in unique_ptr'n gespeichert).<br />
Der Benutzer der Schnittstelle soll nun auf diese dynamisch erzeugten Objekte zugreifen können, wobei das Lebenszeit-Management weiterhin bei dem Objekt hinter der Schnittstelle bleiben soll. Derzeit schicke ich einfach blanke Zeiger zurück und es funktioniert auch alles, keiner der Clients lebt länger als die &quot;Server&quot;-Objekte, so ist die Software aufgebaut.</p>
<p>Allerdings frage ich mich schon, ob es nicht irgendwo eine Mischung aus unique_ptr und shared_ptr gibt (&quot;uniquely_owned_ptr&quot; oder sowas) , mit dem Unterschied, dass man deren weak_ptr nicht zu einem vollwertigen Pointer zurück-&quot;upgraden&quot; kann.</p>
<p>Hoffentlich habe ich mich verständlich ausgedrückt :).</p>
<p>Viele Grüße,<br />
deci</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2214450</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2214450</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 23 May 2012 11:24:00 GMT</pubDate></item><item><title><![CDATA[Reply to unique_ptr und Lebenszeit on Wed, 23 May 2012 11:26:32 GMT]]></title><description><![CDATA[<p>Du möchtest also eine Art weak_ptr für unique_ptr. Nein, gibts nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2214453</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2214453</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Wed, 23 May 2012 11:26:32 GMT</pubDate></item><item><title><![CDATA[Reply to unique_ptr und Lebenszeit on Wed, 23 May 2012 11:28:00 GMT]]></title><description><![CDATA[<p>Nicht wirklich. Ist das was du willst?</p>
<pre><code class="language-cpp">class A
{
  std::unique_ptr&lt;int&gt; p_;
public:
  A() {...}
  int* get() { return p_.get(); }
};

int main()
{
  A a;
  {
    int* p = a.get();
  } // Hier willst du benachrichtigt werden, da p aus dem Scope geht?
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2214454</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2214454</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Wed, 23 May 2012 11:28:00 GMT</pubDate></item><item><title><![CDATA[Reply to unique_ptr und Lebenszeit on Wed, 23 May 2012 11:34:14 GMT]]></title><description><![CDATA[<blockquote>
<p>Derzeit schicke ich einfach blanke Zeiger zurück und es funktioniert auch alles, keiner der Clients lebt länger als die &quot;Server&quot;-Objekte, so ist die Software aufgebaut.</p>
</blockquote>
<p>Genau so soll es auch gemacht werden. Das ist die empfohlene Vorgehensweise. Kein Grund es anders zu machen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2214456</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2214456</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Wed, 23 May 2012 11:34:14 GMT</pubDate></item><item><title><![CDATA[Reply to unique_ptr und Lebenszeit on Wed, 23 May 2012 11:37:30 GMT]]></title><description><![CDATA[<p>Genau, da möchte ich beurteilen können, ob das Programm bei Dereferenzierung von p noch das tut, was es tun soll. Wenn man einen bösen Fehler einbaut, könnte ja an die gleiche Speicherposition ein anderes Objekt vom selben Typ erstellt worden sein, oder was gänzlich anderes, was dennoch erstmal nicht zu Access Violations und hinterher zu obskuren Fehlern führt. Außerdem soll es so erschwert werden, aus Versehen einen der blanken Zeiger zu delete'n.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2214457</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2214457</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 23 May 2012 11:37:30 GMT</pubDate></item><item><title><![CDATA[Reply to unique_ptr und Lebenszeit on Wed, 23 May 2012 11:40:19 GMT]]></title><description><![CDATA[<p>Ich denke, er will eher sowas:</p>
<pre><code class="language-cpp">std::unique_ptr&lt;T&gt; p = ...

//...

some_checkable_ptr&lt;T&gt; c = p;

//p koennte nun sterben

if(c.lock()) //nur, wenn p noch gültig
{
   c-&gt;foo();
}
</code></pre>
<p>Ist aber ziemlich gefährlich. Außerdem würde der unique_ptr, damit das funktionieren kann, nicht mehr so schön simpel sein können.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2214458</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2214458</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Wed, 23 May 2012 11:40:19 GMT</pubDate></item><item><title><![CDATA[Reply to unique_ptr und Lebenszeit on Wed, 23 May 2012 11:39:27 GMT]]></title><description><![CDATA[<p>Decimad schrieb:</p>
<blockquote>
<p>Genau, da möchte ich beurteilen können, ob das Programm bei Dereferenzierung von p noch das tut, was es tun soll. Wenn man einen bösen Fehler einbaut, könnte ja an die gleiche Speicherposition ein anderes Objekt vom selben Typ erstellt worden sein, oder was gänzlich anderes, was dennoch erstmal nicht zu Access Violations und hinterher zu obskuren Fehlern führt.</p>
</blockquote>
<p>Wenn die Lebenszeit der Objekte des Servers an die Lebenszeit des Servers gebunden sind, dann ist ein Nutzer selbst schuld, wenn er nachdem der Scope des Servers verlassen wurde noch irgendwelche Zeiger auf seine Objekte dereferenziert. Wenn das nicht der Fall ist, willst du keinen unique_ptr. (Da die Objekte dann ja offensichtlich nicht alleine dem Server gehören.)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2214462</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2214462</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Wed, 23 May 2012 11:39:27 GMT</pubDate></item><item><title><![CDATA[Reply to unique_ptr und Lebenszeit on Wed, 23 May 2012 11:45:34 GMT]]></title><description><![CDATA[<p>Na klar ist das ein Fehler im Client-Code, ich achte auch darauf, dass sowas nicht vorkommt.<br />
Aber wenn ich es mal verbocke, würde ich gerne mit einer Riesenkanone darauf hingewiesen werden, inklusive Hand aus dem Monitor, die mein Gesicht gegen die Mattscheibe presst. Außerdem würde das den Quelltext noch &quot;erklärender&quot; gestalten und &quot;versteckte&quot; Abstürze verhindern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2214466</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2214466</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 23 May 2012 11:45:34 GMT</pubDate></item><item><title><![CDATA[Reply to unique_ptr und Lebenszeit on Wed, 23 May 2012 11:54:55 GMT]]></title><description><![CDATA[<p>Dafuer gibt es: Debugger, Tests, formale Verifikation, ... Ich halte nichts davon, zusaetzlich Komplexitaet einzubauen. Das ist genauso, wenn ich in meinem Haus die Fenster vergittere, damit ich nicht aus Versehen hinausfalle.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2214471</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2214471</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Wed, 23 May 2012 11:54:55 GMT</pubDate></item><item><title><![CDATA[Reply to unique_ptr und Lebenszeit on Wed, 23 May 2012 12:00:45 GMT]]></title><description><![CDATA[<p>Bei einem versteckten Absturz kommt aber auch der Debugger (und die Access Violation) zu spät. Es wäre ja auch nur ein Debugging-Tool (und eines zur Selbsterklärendem Code und Disziplinierung im Umgang mit diesen Zeigern) für mich, in Release-Builds könnte man die ganzen Zeiger ja auf unique_ptr und blanke Zeiger typedefen (der deref-Operator vom weak_ptr würde halt sofort eine Ausnahme generieren können im Debug-Build, wo ein richtiger Zeiger noch &quot;gültigen&quot; Speicher vorfände).<br />
Vielleicht implementiere ich mir das einfach selber mal, so zum Spaß <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2214476</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2214476</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 23 May 2012 12:00:45 GMT</pubDate></item><item><title><![CDATA[Reply to unique_ptr und Lebenszeit on Wed, 23 May 2012 12:09:32 GMT]]></title><description><![CDATA[<p>Ich habe auch schon über so etwas nachgedacht. Zumindest für einen Debugmodus ist das interessant, so baumelnde Zeiger abfangen zu können.</p>
<p>Das erinnert mich an Qt's &quot;guarded pointers&quot;. Die funktionieren aber nur, wenn man von einer bestimmten Klasse (QTObject) ableitet. Der QTObject Destruktor lässt dann irgendwie die entsprechenden QGuardedPtr-Instanzen auf 0 setzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2214490</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2214490</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Wed, 23 May 2012 12:09:32 GMT</pubDate></item><item><title><![CDATA[Reply to unique_ptr und Lebenszeit on Wed, 23 May 2012 12:17:11 GMT]]></title><description><![CDATA[<p>Und naja, ohne mich bloßstellen zu wollen, ich hätte mir schon einige Male viel Zeit im Debugger, der zu spät angesprungen ist, gespart, nachdem ich einen total dämlichen Fehler im Quelltext gemacht habe. Also es ist nicht &quot;könnte mich davor bewahren&quot; sondern in Nachhinein hätte es mir schon wertvolle Zeit erspart.<br />
Naja, vielleicht werde ich auch irgendwann der Debugger-Guru, der in automatisch generierten Destruktor-Calls die hinter der Message-Pumpe stattfinden noch den exakten Programmverlauf nachverfolgen können. Bis dahin würde mir das viel Ärger abnehmen, stelle ich mir vor. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2214491</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2214491</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 23 May 2012 12:17:11 GMT</pubDate></item><item><title><![CDATA[Reply to unique_ptr und Lebenszeit on Wed, 23 May 2012 12:20:31 GMT]]></title><description><![CDATA[<p>Dann kann man auch seine Pointer auf -1 nach dem Loeschen setzten. Darueber hinaus macht Visual C++ im Debug-Modus schon genug.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2214495</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2214495</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Wed, 23 May 2012 12:20:31 GMT</pubDate></item><item><title><![CDATA[Reply to unique_ptr und Lebenszeit on Wed, 23 May 2012 12:22:48 GMT]]></title><description><![CDATA[<p>Pointer sind üblicherweise unsigned.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2214496</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2214496</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Wed, 23 May 2012 12:22:48 GMT</pubDate></item><item><title><![CDATA[Reply to unique_ptr und Lebenszeit on Wed, 23 May 2012 12:24:40 GMT]]></title><description><![CDATA[<p>Es gibt niemals genug, das habe ich wie gesagt schon am eigenen Leib erfahren müssen! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> Abgesehen davon finde ich natürlich toll, was der Debugger schon von Haus aus für micht schafft, will mich hier ja nicht über den Debugger beklagen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2214497</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2214497</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 23 May 2012 12:24:40 GMT</pubDate></item><item><title><![CDATA[Reply to unique_ptr und Lebenszeit on Wed, 23 May 2012 12:34:36 GMT]]></title><description><![CDATA[<p>314159265358979 schrieb:</p>
<blockquote>
<p>Pointer sind üblicherweise unsigned.</p>
</blockquote>
<p>Pointer sind weder signed noch unsigned. Es ist Ansichtssache, ob sich der Stack unter oder weit über NULL befindet. Dessen ungeachtet kann man aber auch vorzeichenlose Variablen auf -1 setzen; bei vorzeichenlosen Integern wird das Modulo 2<sup>Breite</sup> verrechnet, also auf den maximal darstellbaren Wert des Datentyps umgemünzt. Das findet man auch recht häufig, beispielsweise im Standard in der Definition von std::basic_string:</p>
<blockquote>
<pre><code class="language-cpp">static const size_type npos = -1;
</code></pre>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/2214501</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2214501</guid><dc:creator><![CDATA[seldon]]></dc:creator><pubDate>Wed, 23 May 2012 12:34:36 GMT</pubDate></item><item><title><![CDATA[Reply to unique_ptr und Lebenszeit on Wed, 23 May 2012 13:17:31 GMT]]></title><description><![CDATA[<p>knivil schrieb:</p>
<blockquote>
<p>Das ist genauso, wenn ich in meinem Haus die Fenster vergittere, damit ich nicht aus Versehen hinausfalle.</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2214531</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2214531</guid><dc:creator><![CDATA[dot]]></dc:creator><pubDate>Wed, 23 May 2012 13:17:31 GMT</pubDate></item><item><title><![CDATA[Reply to unique_ptr und Lebenszeit on Wed, 23 May 2012 13:35:54 GMT]]></title><description><![CDATA[<p>Für mich wäre es so, als ob ich die Fenster an meinem Haus vergittere, weil ich schon zweimal herausgefallen bin und dann mit Knochenbrüchen mehrere Wochen ausfiel <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2214546</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2214546</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 23 May 2012 13:35:54 GMT</pubDate></item><item><title><![CDATA[Reply to unique_ptr und Lebenszeit on Wed, 23 May 2012 13:38:19 GMT]]></title><description><![CDATA[<p>Wenn man unique_ptr so nutzt, sollte die Serverinstanz so plaziert sein, <strong>dass es offensichtlich ist</strong> wenn irgendein Pointer aus dem Scope geht. Normalerweise sieht das doch so aus:</p>
<pre><code class="language-cpp">{
  Server s;
  los_gehts(s);
}
</code></pre>
<p>Oder wie auch immer. Jedenfalls eindeutig so, dass man nicht mal eben Zeiger aus dem Scope mitnimmt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2214548</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2214548</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Wed, 23 May 2012 13:38:19 GMT</pubDate></item><item><title><![CDATA[Reply to unique_ptr und Lebenszeit on Wed, 23 May 2012 14:04:08 GMT]]></title><description><![CDATA[<p>Die Server-Objekte sind selber dynamisch erzeugt. Die Lebenszeiten und -Räume erstrecken sich über unzählige Dateien und über Event-betriebene Prozessgrenzen. Es ist halt eine dynmische und flexible GUI-Anwendung, mit eingebautem Undo, Modellen, Views etc. Da kann man halt auch mal einen Bock einbauen, finde ich.</p>
<p>Dieses super-übersichtliche C++, das man hier in den Minimalbeispielen sieht, habe ich immer nur bei meinen schönen Konsolenapplikationen oder bei Schleifenbasierten 3D-Sachen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2214557</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2214557</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 23 May 2012 14:04:08 GMT</pubDate></item><item><title><![CDATA[Reply to unique_ptr und Lebenszeit on Wed, 23 May 2012 14:10:28 GMT]]></title><description><![CDATA[<p>Model-View-Controller ...</p>
<p>PS: Ja, das Problem ist abgehackt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2214560</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2214560</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Wed, 23 May 2012 14:10:28 GMT</pubDate></item><item><title><![CDATA[Reply to unique_ptr und Lebenszeit on Wed, 23 May 2012 14:16:03 GMT]]></title><description><![CDATA[<p>Decimad schrieb:</p>
<blockquote>
<p>Dieses super-übersichtliche C++, das man hier in den Minimalbeispielen sieht, habe ich immer nur bei meinen schönen Konsolenapplikationen oder bei Schleifenbasierten 3D-Sachen.</p>
</blockquote>
<p>Dann bau deine GUI-Anwendung halt so, dass sie wieder wie dieses super übersichtliche C++ aussieht. Das ist nicht unmöglich. z.B. könntest du die Lebenszeit eines Servers einfach an das Fenster koppeln, über das er gesteuert wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2214563</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2214563</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Wed, 23 May 2012 14:16:03 GMT</pubDate></item><item><title><![CDATA[Reply to unique_ptr und Lebenszeit on Wed, 23 May 2012 14:27:26 GMT]]></title><description><![CDATA[<p>Decimad schrieb:</p>
<blockquote>
<p>Die Server-Objekte sind selber dynamisch erzeugt. Die Lebenszeiten und -Räume erstrecken sich über unzählige Dateien und über Event-betriebene Prozessgrenzen.</p>
</blockquote>
<p>Ja das ist halt das Problem von so eventgesteuerten Systemen. Am Ende ist über irgendwelche Pfade irgendwie immer alles von allem abhängig und man weiß eigentlich nichtmehr wo GUI aufhört und Logik anfängt. Darum bin ich kein besonderer Fan davon...</p>
<p>Wenn du sowas willst, dann wäre .NET oder Java vermutlich die besserere Welt für dich, dort hast du zumindest auch einen Garbage Collector der die ganzen Probleme schön vor dir versteckt sodass du sie nicht ständig sehen musst. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2214564</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2214564</guid><dc:creator><![CDATA[dot]]></dc:creator><pubDate>Wed, 23 May 2012 14:27:26 GMT</pubDate></item><item><title><![CDATA[Reply to unique_ptr und Lebenszeit on Wed, 23 May 2012 14:55:28 GMT]]></title><description><![CDATA[<p>Na ich arbeite ja auch mit echten Membern wo es geht. Änderungen am Modell finden nicht im View statt etc.<br />
Aber was der Benutzer mit Dokumenten macht, ist nunmal dynamisch. Das kann man auch durch tollste C++-Kunst nicht statisch machen. GUI-Anwendungen für dynamische Inhalte sind nunmal vom Prinzip her ne ziemlich verwobene/komplexe Sache. Klar kann man sich bemühen, klare Grenzen zu ziehen, aber irgendwo ist da auch ein Ende erreicht. Zumindest kam ich gedanklich immer zu diesem Ergebnis, als ich mich mal wieder darüber aufregte, warum das so sein muss. Ich kämpfe jetzt zu jeder Zeit um klaren Code, aber stecke nicht mehr den Kopf in den Sand, wenn es einfach aus meiner Sicht nicht mehr schöner geht. Ich finde es dann nur unfair, wenn man dann hier mit Simpelbeispielen zurechtgewiesen wird, als würde man sich keine Gedanken machen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2214572</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2214572</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 23 May 2012 14:55:28 GMT</pubDate></item><item><title><![CDATA[Reply to unique_ptr und Lebenszeit on Wed, 23 May 2012 15:11:13 GMT]]></title><description><![CDATA[<p>Wenn du das mit den Dokumenten und wie die Serverobjekte damit zusammenhängen genauer erklären würdest, könnte dir vielleicht auch jemand eine bessere Idee liefern. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2214573</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2214573</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Wed, 23 May 2012 15:11:13 GMT</pubDate></item><item><title><![CDATA[Reply to unique_ptr und Lebenszeit on Wed, 23 May 2012 15:42:45 GMT]]></title><description><![CDATA[<p>Ich möchte das ja gar nicht erklären, das würde für diesen Zweck wirklich zu weit führen. Ich wollte nur einige Worte zur Rechtfertigung dazu verlieren, dass ich eine solche Debug-Möglichkeit für sinnvoll halte, nachdem mir eine Grundsatzdiskussion während eines ganz anderen Themas aufgezwungen wurde. Ich hatte für mein ursprüngliches Anliegen genügend Kontext geliefert, der Sinn dahinter wurde dann mit Simpelbeispielen ins &quot;Lächerliche&quot; gezogen.</p>
<p>Vielleicht würde mir für zukünftige Projekte noch ein Hinweis helfen, welche Alternativen es für GUI-Projekte gibt, die nicht ereignisbasiert funktionieren <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> Oder eine bessere Alternative zu einer lockeren Interpretation von MVC (Ich könnte mir da manchmal die Haare raufen, dass man eben nicht immer alle Daten so einfach zur Verfügung hätte, wie man sie beim rumfrickeln gerne hätte).</p>
<p>Aber das ist ja eine ganz andere Diskussion, die ich beizeiten mal unter einem anderen Thread eröffnen sollte.</p>
<p>Ich wünsch' euch was!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2214582</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2214582</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 23 May 2012 15:42:45 GMT</pubDate></item></channel></rss>