<?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[Objekt wird in if - Verzweigung erstellt. Delete notwendig?]]></title><description><![CDATA[<p>Hallo Freunde! <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="😉"
    /><br />
Hier mein code</p>
<p>if (open_menu)<br />
{<br />
Menu *menu = new Menu(window);<br />
(*menu).open_menu();<br />
open_menu = false;<br />
}</p>
<p>Die Klasse Menu ist extern und der header ist included <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="😉"
    /><br />
Benötige ich hier noch die delete funktion um das Objekt nach der der if-Verzweigung aus dem temporären Speicher zu löschen, oder geschieht das automatisch, weil der Geltungsbereich überschritten ist? <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/topic/333221/objekt-wird-in-if-verzweigung-erstellt-delete-notwendig</link><generator>RSS for Node</generator><lastBuildDate>Mon, 27 Apr 2026 06:45:54 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/333221.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 19 Jun 2015 09:43:49 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Objekt wird in if - Verzweigung erstellt. Delete notwendig? on Fri, 19 Jun 2015 09:43:49 GMT]]></title><description><![CDATA[<p>Hallo Freunde! <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="😉"
    /><br />
Hier mein code</p>
<p>if (open_menu)<br />
{<br />
Menu *menu = new Menu(window);<br />
(*menu).open_menu();<br />
open_menu = false;<br />
}</p>
<p>Die Klasse Menu ist extern und der header ist included <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="😉"
    /><br />
Benötige ich hier noch die delete funktion um das Objekt nach der der if-Verzweigung aus dem temporären Speicher zu löschen, oder geschieht das automatisch, weil der Geltungsbereich überschritten ist? <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/2457186</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2457186</guid><dc:creator><![CDATA[Mafyou]]></dc:creator><pubDate>Fri, 19 Jun 2015 09:43:49 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt wird in if - Verzweigung erstellt. Delete notwendig? on Fri, 19 Jun 2015 09:59:12 GMT]]></title><description><![CDATA[<p>Mafyou schrieb:</p>
<blockquote>
<p>Benötige ich hier noch die delete funktion um das Objekt nach der der if-Verzweigung aus dem temporären Speicher zu löschen,</p>
</blockquote>
<p>Kommt drauf an, ob das Objekt danach noch gebraucht wird. Wenn nicht, solltest du hier gar nicht new und delete verwenden. Wenn doch, hast du das Problem, dass du an den Speicher nicht mehr herankommst, weil der einzige Zeiger darauf nicht mehr existiert.</p>
<p>Mafyou schrieb:</p>
<blockquote>
<p>oder geschieht das automatisch, weil der Geltungsbereich überschritten ist? <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>
</blockquote>
<p>Nein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2457188</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2457188</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Fri, 19 Jun 2015 09:59:12 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt wird in if - Verzweigung erstellt. Delete notwendig? on Fri, 19 Jun 2015 11:29:29 GMT]]></title><description><![CDATA[<p>Heißt das wenn ich das Objekt ohne &quot;new&quot; und ohne Pointer erstell, dann wird es nach der if Bedingung direkt vom RAM gelöscht? Und wenn ich das Objekt mit new und Pointer erstelle, dann muss ich das Objekt noch innerhalb der if-Verzweigung mit delete löschen um das Objekt vom RAM zu löschen ? <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/2457201</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2457201</guid><dc:creator><![CDATA[Mafyou]]></dc:creator><pubDate>Fri, 19 Jun 2015 11:29:29 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt wird in if - Verzweigung erstellt. Delete notwendig? on Fri, 19 Jun 2015 11:48:17 GMT]]></title><description><![CDATA[<p>Ohne new wird das Objekt beim nächsten } Zeichen gelöscht</p>
<p>Mit new wird es nur gelöscht, wenn du delete aufrufst.</p>
<p>Ich bin mal gespannt, was bei dein Spiel am Ende rauskommt <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>
<p>Wird das ein Konsolenspiel oder so richtig mit Pixelgrafiken?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2457207</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2457207</guid><dc:creator><![CDATA[XMAMan]]></dc:creator><pubDate>Fri, 19 Jun 2015 11:48:17 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt wird in if - Verzweigung erstellt. Delete notwendig? on Fri, 19 Jun 2015 11:52:52 GMT]]></title><description><![CDATA[<p>Mafyou schrieb:</p>
<blockquote>
<p>Heißt das wenn ich das Objekt ohne &quot;new&quot; und ohne Pointer erstell, dann wird es nach der if Bedingung direkt vom RAM gelöscht?</p>
</blockquote>
<p>Automatische Variablen (so nennt man die) werden am Ende ihres Gültigkeitsbereichs zerstört. Ich weiß nicht, was du mit &quot;vom RAM löschen&quot; genau meinst, und ich fürchte, du auch nicht.</p>
<p>Mafyou schrieb:</p>
<blockquote>
<p>Und wenn ich das Objekt mit new und Pointer erstelle, dann muss ich das Objekt noch innerhalb der if-Verzweigung mit delete löschen um das Objekt vom RAM zu löschen ? <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>
</blockquote>
<p>Das mit new erzeugte Objekt &quot;überlebt&quot; den if-Block. Es wird nicht automatisch gelöscht. Aber für delete brauchst du den Zeiger, den new dir gibt. Und der ist bei deinem Code automatisch (siehe oben), existiert also nach dem Block nicht mehr. Damit kommst du an das Objekt nicht mehr heran.</p>
<p>Die wichtige Frage ist, wie lange soll das Objekt leben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2457209</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2457209</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Fri, 19 Jun 2015 11:52:52 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt wird in if - Verzweigung erstellt. Delete notwendig? on Fri, 19 Jun 2015 12:13:35 GMT]]></title><description><![CDATA[<p>XMAMan schrieb:</p>
<blockquote>
<p>Wird das ein Konsolenspiel oder so richtig mit Pixelgrafiken?</p>
</blockquote>
<p>Wird ein Game mit Kombination aus Quizgame, Leveln(Jump'n Run und Tile grafics etc. <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/2457213</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2457213</guid><dc:creator><![CDATA[Mafyou]]></dc:creator><pubDate>Fri, 19 Jun 2015 12:13:35 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt wird in if - Verzweigung erstellt. Delete notwendig? on Sun, 21 Jun 2015 14:36:56 GMT]]></title><description><![CDATA[<p>Mafyou schrieb:</p>
<blockquote>
<p>Hallo Freunde! <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="😉"
    /><br />
Hier mein Code:</p>
<p>if (open_menu)<br />
{<br />
Menu *menu = new Menu(window);<br />
(*menu).open_menu();<br />
open_menu = false;<br />
}</p>
<p>Die Klasse Menu ist extern und der header ist included <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="😉"
    /><br />
Benötige ich hier noch die delete funktion um das Objekt nach der der if-Verzweigung aus dem temporären Speicher zu löschen, oder geschieht das automatisch, weil der Geltungsbereich überschritten ist? <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>
</blockquote>
<p>1. kannst den Pfeiloperator verwenden, um das kürzer zu schreiben: menu-&gt;open()<br />
2. Dir geht nach dem if Block der Verweis auf den Speicher verloren. menu beinhaltet die Adresse, wo das Objekt im Speicher liegt. Du hast also ein Memory Leak.</p>
<p>Lösungen:<br />
a.) Du rufst in der letzten Zeile des if Blocks ein delete auf.<br />
b.) Besser: du machst dir das Leben einfach, und verzichtest auf new und delete:</p>
<pre><code>{
...
Menu menu(window);
menu.open_menu();
...
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2457364</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2457364</guid><dc:creator><![CDATA[gdfgfdgdgdfgd]]></dc:creator><pubDate>Sun, 21 Jun 2015 14:36:56 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt wird in if - Verzweigung erstellt. Delete notwendig? on Tue, 23 Jun 2015 09:05:12 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/u5577" rel="nofollow">rapso</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/f7" rel="nofollow">Spiele-/Grafikprogrammierung</a> in das Forum <a href="http://www.c-plusplus.net/forum/f15" rel="nofollow">C++ (alle ISO-Standards)</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/39405" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2457528</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2457528</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Tue, 23 Jun 2015 09:05:12 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt wird in if - Verzweigung erstellt. Delete notwendig? on Sat, 27 Jun 2015 20:30:05 GMT]]></title><description><![CDATA[<p>Das delete sollte hier nicht notwendig sein, weil genauso das new nicht notwendig ist</p>
<p>LG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2457983</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2457983</guid><dc:creator><![CDATA[hardware]]></dc:creator><pubDate>Sat, 27 Jun 2015 20:30:05 GMT</pubDate></item></channel></rss>