<?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[Problem mit dem new-Operator]]></title><description><![CDATA[<p>Es geht um folgende Codezeile in einer main-Funktion:</p>
<pre><code class="language-cpp">*test= *new name(*test1);
</code></pre>
<p>Bei <em>name</em> handelt es sich um eine Klasse und bei <em>test</em> und <em>test1</em> um zwei weiter oben in der <em>main</em>-Funktion dynamisch angelegte Instanzen.<br />
Leider verstehe ich gar nicht, was das Sternchen vor dem <em>new</em>-Operator zu bedeuten hat. Handelt es sich um eine Dereferenzierung oder um einen neuen Zeiger? Kann mir das jemand erklären?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/173226/problem-mit-dem-new-operator</link><generator>RSS for Node</generator><lastBuildDate>Fri, 18 Sep 2026 07:43:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/173226.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 13 Feb 2007 08:05:07 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit dem new-Operator on Tue, 13 Feb 2007 08:09:57 GMT]]></title><description><![CDATA[<p>Es geht um folgende Codezeile in einer main-Funktion:</p>
<pre><code class="language-cpp">*test= *new name(*test1);
</code></pre>
<p>Bei <em>name</em> handelt es sich um eine Klasse und bei <em>test</em> und <em>test1</em> um zwei weiter oben in der <em>main</em>-Funktion dynamisch angelegte Instanzen.<br />
Leider verstehe ich gar nicht, was das Sternchen vor dem <em>new</em>-Operator zu bedeuten hat. Handelt es sich um eine Dereferenzierung oder um einen neuen Zeiger? Kann mir das jemand erklären?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1227898</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1227898</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 13 Feb 2007 08:09:57 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit dem new-Operator on Tue, 13 Feb 2007 08:11:26 GMT]]></title><description><![CDATA[<p>Also der Code sieht für mich sinnlos aus (eventuell wird's klarer, wenn du auch den Bereich darum dazustellst). Die Sterne stehen auf jeden Fall für eine Dereferenzierung, allerdings ist zumindest der vor dem 'new' unsinnig (und erzeugt nur Speicherlecks).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1227900</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1227900</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 13 Feb 2007 08:11:26 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit dem new-Operator on Tue, 13 Feb 2007 08:13:04 GMT]]></title><description><![CDATA[<p>Hallo, danke für deine Antwort, ich habe nach Absenden meines Beitrages diesen nochmal editiert und den Code korrigiert. In der Tat war der Code vorher unsinnig, aber jetzt müsste er stimmen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1227901</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1227901</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 13 Feb 2007 08:13:04 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit dem new-Operator on Tue, 13 Feb 2007 08:26:14 GMT]]></title><description><![CDATA[<p>OK, das erklärt die Dereferenzierung von test und test1. Aber wie gesagt, der * vor dem new macht in meinen Augen keinen Sinn.</p>
<p>Inhaltlich: new reserviert Speicherplatz für ein name-Objekt, initialisiert es per Copy-Ctor aus *test1 und gibt seine Adresse zurück. Anschließend dereferenzierst du diesen temporären Zeiger und kopierst den Inhalt des (neu angelegten) Objekts an *test. Am Ende der Zeile vergisst du die Adresse des Objekts wieder -&gt; Speicherleck.<br />
(test und test1 sind Zeiger, also sind *test und *test die Objekte, auf die sie zeigen)</p>
<p>Die bessere Möglichkeit wäre:</p>
<pre><code class="language-cpp">*test = *test1;//kopiert den Inhalt, ohne ein zusätzliches Heap-Objekt anzulegen und zu vergessen

//oder

delete test;//Freigabe des bisherigen Speichers
test = new name(*test1);//legt ein neues Objekt an und biegt den Zeiger dorthin um
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1227906</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1227906</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 13 Feb 2007 08:26:14 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit dem new-Operator on Tue, 13 Feb 2007 08:31:37 GMT]]></title><description><![CDATA[<p>Mir fällt grade noch ein, dass ich in der Klasse einen Zuweisungsoperator (operator=(...)) definiert habe. Könnte der in meiner Code-Zeile nicht zum Einsatz kommen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1227907</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1227907</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 13 Feb 2007 08:31:37 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit dem new-Operator on Tue, 13 Feb 2007 08:42:28 GMT]]></title><description><![CDATA[<p>Ja, macht er eigentlich auch - das = dort verwendet op=. (aber das ändert nicht an dem auftretenden Speicherleckt)</p>
<p>PS: Hast du den Code selber geschrieben? Oder von irgendwem kopiert? (in letzterem Fall solltest du diesem Jemand mal erklären, was für einen Müll er verzapft hat ;))</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1227911</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1227911</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 13 Feb 2007 08:42:28 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit dem new-Operator on Tue, 13 Feb 2007 17:04:25 GMT]]></title><description><![CDATA[<p>Die Adresse das neu allokiierten Objekts geht verloren, du hast ein Speicherleck =&gt; nicht gut</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1228283</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1228283</guid><dc:creator><![CDATA[Lars]]></dc:creator><pubDate>Tue, 13 Feb 2007 17:04:25 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit dem new-Operator on Wed, 14 Feb 2007 07:19:16 GMT]]></title><description><![CDATA[<p>Lars schrieb:</p>
<blockquote>
<p>Die Adresse das neu allokiierten Objekts geht verloren, du hast ein Speicherleck =&gt; nicht gut</p>
</blockquote>
<p>Schön, daß du alles nochmal wiederholst, was ich sagte - warum kopierst du nicht gleich meine Beiträge komplett <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/1228486</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1228486</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 14 Feb 2007 07:19:16 GMT</pubDate></item></channel></rss>