<?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[legaler code?]]></title><description><![CDATA[<p>hi, ist das hier legaler cpp code?</p>
<pre><code class="language-cpp">class bla
{
  int* ptr;
  public:
    bla : ptr(new ptr[3]), ref(ptr[0]){};
    ~bla(){delete[] ptr];
    int&amp; ref;
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/286428/legaler-code</link><generator>RSS for Node</generator><lastBuildDate>Thu, 20 Aug 2026 23:04:11 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/286428.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 09 May 2011 18:48:31 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to legaler code? on Mon, 09 May 2011 18:48:31 GMT]]></title><description><![CDATA[<p>hi, ist das hier legaler cpp code?</p>
<pre><code class="language-cpp">class bla
{
  int* ptr;
  public:
    bla : ptr(new ptr[3]), ref(ptr[0]){};
    ~bla(){delete[] ptr];
    int&amp; ref;
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2060988</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2060988</guid><dc:creator><![CDATA[refenrenzinitilisor]]></dc:creator><pubDate>Mon, 09 May 2011 18:48:31 GMT</pubDate></item><item><title><![CDATA[Reply to legaler code? on Mon, 09 May 2011 18:51:12 GMT]]></title><description><![CDATA[<p>refenrenzinitilisor schrieb:</p>
<blockquote>
<p>hi, ist das hier legaler cpp code?</p>
</blockquote>
<p>Nein, der Code ist illegal. Bitte keinen gesetzlich verbotenen Code posten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2060991</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2060991</guid><dc:creator><![CDATA[Polizei]]></dc:creator><pubDate>Mon, 09 May 2011 18:51:12 GMT</pubDate></item><item><title><![CDATA[Reply to legaler code? on Mon, 09 May 2011 18:53:51 GMT]]></title><description><![CDATA[<p>In Zeile 5 sollte statt <code>new ptr[3]</code> ein <code>new int[3]</code> stehen.Und in Zeile 6 hast du eine eckige Klammer statt einer Geschwungenen. Ansonsten sieht es gut aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2060992</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2060992</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Mon, 09 May 2011 18:53:51 GMT</pubDate></item><item><title><![CDATA[Reply to legaler code? on Mon, 09 May 2011 18:55:45 GMT]]></title><description><![CDATA[<p>Im Destruktor fehlt die abschließende Klammer &quot;}&quot;. Was soll <code>ref(ptr[0])</code> heißen? Und warum ist <code>ref</code> public?</p>
<p>@Polizei: musste so lachen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2060993</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2060993</guid><dc:creator><![CDATA[*Rewind*]]></dc:creator><pubDate>Mon, 09 May 2011 18:55:45 GMT</pubDate></item><item><title><![CDATA[Reply to legaler code? on Mon, 09 May 2011 18:59:15 GMT]]></title><description><![CDATA[<p>[Rewind] schrieb:</p>
<blockquote>
<p>Was soll <code>ref(ptr[0])</code> heißen?</p>
</blockquote>
<p>Na, dass sich <code>ref</code> auf <code>ptr[0]</code> bezieht.</p>
<p>[Rewind] schrieb:</p>
<blockquote>
<p>@Polizei: musste so lachen</p>
</blockquote>
<p>Ja, der war echt gut! <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/2060996</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2060996</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Mon, 09 May 2011 18:59:15 GMT</pubDate></item><item><title><![CDATA[Reply to legaler code? on Mon, 09 May 2011 19:14:35 GMT]]></title><description><![CDATA[<p>So ging es nicht.</p>
<pre><code class="language-cpp">class bla
{
  int&amp; ref;
  int* ptr;
  public:
    bla : ptr(new int[3]), ref(ptr[0]){};
    ~bla(){delete[] ptr};
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2061006</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2061006</guid><dc:creator><![CDATA[übrigens]]></dc:creator><pubDate>Mon, 09 May 2011 19:14:35 GMT</pubDate></item><item><title><![CDATA[Reply to legaler code? on Mon, 09 May 2011 19:20:10 GMT]]></title><description><![CDATA[<p>übrigens schrieb:</p>
<blockquote>
<p>So ging es nicht.</p>
<pre><code class="language-cpp">class bla
{
  int&amp; ref;
  int* ptr;
  public:
    bla : ptr(new int[3]), ref(ptr[0]){};
    ~bla(){delete[] ptr};
};
</code></pre>
</blockquote>
<p>Es kompiliert, aber es sauft ab, meinst du?<br />
Die Member der Klasse werden in der Reihenfolge ihrer Dekleration in der Klasse und nicht in der Reihenfolge in der Initialisierungsliste initialisiert. ref erhält also den Wert ptr[0] bevor ptr überhaupt einen Wert hat. Folge: ref zeigt ins Nirvana.<br />
Einfach in der Klasse die Deklerationen von ref und ptr vertauschen, dann funktioniert das auch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2061009</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2061009</guid><dc:creator><![CDATA[ipsec]]></dc:creator><pubDate>Mon, 09 May 2011 19:20:10 GMT</pubDate></item><item><title><![CDATA[Reply to legaler code? on Tue, 10 May 2011 08:08:15 GMT]]></title><description><![CDATA[<p>EOutOfResources schrieb:</p>
<blockquote>
<p>[Rewind] schrieb:</p>
<blockquote>
<p>@Polizei: musste so lachen</p>
</blockquote>
<p>Ja, der war echt gut! <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>
</blockquote>
<p>ich auch :DDD<br />
und ich bin immer noch dran <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2061126</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2061126</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Tue, 10 May 2011 08:08:15 GMT</pubDate></item><item><title><![CDATA[Reply to legaler code? on Tue, 10 May 2011 09:26:57 GMT]]></title><description><![CDATA[<p>Himmelherrgottnochmal, lern die Syntaxregeln von C++:</p>
<pre><code class="language-cpp">class bla
{
    int&amp; ref;
    int* ptr;

public:
    bla()
    :ptr(new int[3])
    ,ref(ptr[0])
    {}

    ~bla()
    {
        delete[] ptr;
    }
};
</code></pre>
<p>Auch ein Konstruktor darf Argumente übernehmen, und eine Anweisung endet mit ';'. Kann es sein, dass dir Klassen noch neu sind?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2061162</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2061162</guid><dc:creator><![CDATA[Glühbirne]]></dc:creator><pubDate>Tue, 10 May 2011 09:26:57 GMT</pubDate></item><item><title><![CDATA[Reply to legaler code? on Tue, 10 May 2011 09:37:44 GMT]]></title><description><![CDATA[<p>Glühbirne schrieb:</p>
<blockquote>
<pre><code class="language-cpp">int&amp; ref;
    int* ptr;
</code></pre>
</blockquote>
<p>Ach ja, die Deklarationen noch vertauschen. Sonst gibt es meines Wissens Probleme, weil die Referenz nach nirgendwo zeigt, weil trotz der Reihenfolge der Zuweisung die Deklaration entscheidend ist. Die Referenz bekommt einen (fehlerhaften) Wert, dann bekommt der Zeiger seinen Speicher, und die Referenz hat das nachsehen.</p>
<p>Aber wenn ich du wäre, würde ich den Quatsch mit der Referenz sein lassen. Was hält dich davon ab,</p>
<pre><code class="language-cpp">ptr[0]
</code></pre>
<p>zu schreiben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2061167</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2061167</guid><dc:creator><![CDATA[Glühbirne]]></dc:creator><pubDate>Tue, 10 May 2011 09:37:44 GMT</pubDate></item></channel></rss>