<?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[new delete without pointer]]></title><description><![CDATA[<p>Ich erschaffe ein Objekt mit</p>
<pre><code>obj *o = new obj();
</code></pre>
<p>Nun gebe ich dieses Objekt und nicht den Pointer an eine Funktion.</p>
<pre><code>funk(*obj);
</code></pre>
<p>Nun meine Frage: Wie kann ich in der Funktion den speicher wieder frei geben?<br />
delete o; mozt der Compiler<br />
delete &amp;o; laufzeit fehler</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/276293/new-delete-without-pointer</link><generator>RSS for Node</generator><lastBuildDate>Wed, 26 Aug 2026 10:56:01 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/276293.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 30 Oct 2010 13:59:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to new delete without pointer on Sat, 30 Oct 2010 13:59:52 GMT]]></title><description><![CDATA[<p>Ich erschaffe ein Objekt mit</p>
<pre><code>obj *o = new obj();
</code></pre>
<p>Nun gebe ich dieses Objekt und nicht den Pointer an eine Funktion.</p>
<pre><code>funk(*obj);
</code></pre>
<p>Nun meine Frage: Wie kann ich in der Funktion den speicher wieder frei geben?<br />
delete o; mozt der Compiler<br />
delete &amp;o; laufzeit fehler</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1972702</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1972702</guid><dc:creator><![CDATA[muli]]></dc:creator><pubDate>Sat, 30 Oct 2010 13:59:52 GMT</pubDate></item><item><title><![CDATA[Reply to new delete without pointer on Sat, 30 Oct 2010 14:02:10 GMT]]></title><description><![CDATA[<p>Vielleicht nen Wrapper um die funktion schreiben?<br />
void wrapper(obj * o)<br />
{<br />
meine_funktion(*o);<br />
delete o;<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1972703</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1972703</guid><dc:creator><![CDATA[wrapper]]></dc:creator><pubDate>Sat, 30 Oct 2010 14:02:10 GMT</pubDate></item><item><title><![CDATA[Reply to new delete without pointer on Sat, 30 Oct 2010 14:16:42 GMT]]></title><description><![CDATA[<p>Das ist nur ein minimalistisches Beispiel und das problem zu schildern... ein Wrapper ist nicht so einfach möglich...<br />
Danke aber habt ihr noch mehr ideen?</p>
<p>Ich habe mal einen neuen Zeiger zu machen welcher auf das Objekt zeigt und den dann zu deleten.<br />
Klappt auch nicht... Warum eigentlich nicht ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1972709</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1972709</guid><dc:creator><![CDATA[muli]]></dc:creator><pubDate>Sat, 30 Oct 2010 14:16:42 GMT</pubDate></item><item><title><![CDATA[Reply to new delete without pointer on Sat, 30 Oct 2010 14:14:46 GMT]]></title><description><![CDATA[<p>Smartpointer?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1972712</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1972712</guid><dc:creator><![CDATA[HighLigerBiMBam]]></dc:creator><pubDate>Sat, 30 Oct 2010 14:14:46 GMT</pubDate></item><item><title><![CDATA[Reply to new delete without pointer on Sat, 30 Oct 2010 14:27:29 GMT]]></title><description><![CDATA[<p>ok mal algemeim bitte:<br />
Ich weiss doch wo sich das Objekt im heap befindet... mit &amp; bekomme ich die Adresse und den Typ weiss ich auch ... also weshalb kann ich das Ding nicht einfach löschen... ich mache einen neuen Pointer vom richtigen typen und weise ihm die richtige Adressse zu?<br />
Ich verstehe einfach nicht was es da zu meckern gibt?</p>
<p>Ich bin für jede erklärung dankbar.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1972716</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1972716</guid><dc:creator><![CDATA[muli]]></dc:creator><pubDate>Sat, 30 Oct 2010 14:27:29 GMT</pubDate></item><item><title><![CDATA[Reply to new delete without pointer on Sat, 30 Oct 2010 14:32:10 GMT]]></title><description><![CDATA[<p>muli schrieb:</p>
<blockquote>
<p>Ich weiss doch wo sich das Objekt im heap befindet...</p>
</blockquote>
<p>Hängt von der Signatur der Funktion ab. Wenn du per value übergibst, stimmt das eben nicht und du übergibst delete ein Objekt des Stacks.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1972718</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1972718</guid><dc:creator><![CDATA[Michael E.]]></dc:creator><pubDate>Sat, 30 Oct 2010 14:32:10 GMT</pubDate></item><item><title><![CDATA[Reply to new delete without pointer on Sat, 30 Oct 2010 14:32:13 GMT]]></title><description><![CDATA[<p>muli schrieb:</p>
<blockquote>
<p>ok mal algemeim bitte:<br />
Ich weiss doch wo sich das Objekt im heap befindet... mit &amp; bekomme ich die Adresse und den Typ weiss ich auch ... also weshalb kann ich das Ding nicht einfach löschen... ich mache einen neuen Pointer vom richtigen typen und weise ihm die richtige Adressse zu?<br />
Ich verstehe einfach nicht was es da zu meckern gibt?<br />
Ich bin für jede erklärung dankbar.</p>
</blockquote>
<p>Du übergibst eine Kopie des Objekts auf dem Stack und das zu deletene ist tödlich. Übergib das Objekt per Referenz und es klappt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1972719</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1972719</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sat, 30 Oct 2010 14:32:13 GMT</pubDate></item><item><title><![CDATA[Reply to new delete without pointer on Sat, 30 Oct 2010 15:39:41 GMT]]></title><description><![CDATA[<p>ok danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1972746</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1972746</guid><dc:creator><![CDATA[muli]]></dc:creator><pubDate>Sat, 30 Oct 2010 15:39:41 GMT</pubDate></item></channel></rss>