<?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[Anfängerfrage zu new]]></title><description><![CDATA[<p>Ich benötige für ein Programm ein Feld, das 10 Instanzen einer eigenen KLasse beinhaltet.</p>
<pre><code class="language-cpp">// Das klappt ja ganz gut
int *feld = new int[10];
for(int i=0;i&lt;10; i++)
  feld[i] = i;

// Was passiert hier? Wird der Standardkonstruktor aufgerufen, oder muss ich selbst initialisieren

class A {irgendwas};

A *f = new A[10];

//Kann ich jetzt schon auf a[x] zugreifen?
//Und falls nicht, wie weise ich dann korrekt das Ergebnis des Standardkstr zu?
</code></pre>
<p>Bisher erhalte ich std::bad_alloc Fehler.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/303930/anfängerfrage-zu-new</link><generator>RSS for Node</generator><lastBuildDate>Mon, 10 Aug 2026 04:48:20 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/303930.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 25 May 2012 12:00:53 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Anfängerfrage zu new on Fri, 25 May 2012 12:00:53 GMT]]></title><description><![CDATA[<p>Ich benötige für ein Programm ein Feld, das 10 Instanzen einer eigenen KLasse beinhaltet.</p>
<pre><code class="language-cpp">// Das klappt ja ganz gut
int *feld = new int[10];
for(int i=0;i&lt;10; i++)
  feld[i] = i;

// Was passiert hier? Wird der Standardkonstruktor aufgerufen, oder muss ich selbst initialisieren

class A {irgendwas};

A *f = new A[10];

//Kann ich jetzt schon auf a[x] zugreifen?
//Und falls nicht, wie weise ich dann korrekt das Ergebnis des Standardkstr zu?
</code></pre>
<p>Bisher erhalte ich std::bad_alloc Fehler.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2215363</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2215363</guid><dc:creator><![CDATA[silverling]]></dc:creator><pubDate>Fri, 25 May 2012 12:00:53 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage zu new on Fri, 25 May 2012 12:03:09 GMT]]></title><description><![CDATA[<p>Ja, der Standardkonstruktor wird aufgerufen. Aber warum brauchst du new? Reichen Arrays nicht?</p>
<pre><code class="language-cpp">struct A {};
a[10];
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2215365</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2215365</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Fri, 25 May 2012 12:03:09 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage zu new on Fri, 25 May 2012 12:42:23 GMT]]></title><description><![CDATA[<p>silverling schrieb:</p>
<blockquote>
<p>Bisher erhalte ich std::bad_alloc Fehler.</p>
</blockquote>
<p>Mhh, also bei mir läuft dein Beispielprogramm (ausführbar gemacht) fehlerfrei (bis aufs Memory leak, nimm wie Cooky gesagt hat lieber ein Array (oder nen std::Vector)) durch:</p>
<pre><code class="language-cpp">class A {};
int main() {
	int *feld = new int[10];
	for(int i=0;i&lt;10; i++)
		feld[i] = i;
	A *f = new A[10];
}
</code></pre>
<p>Vielleicht liegt das Problem in deiner A-Klasse. <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 />
Mach mal ein compilierbares Minimalbeispiel draus, dass den Fehler auch tatsächlich erzeugt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2215388</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2215388</guid><dc:creator><![CDATA[Dobi]]></dc:creator><pubDate>Fri, 25 May 2012 12:42:23 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage zu new on Fri, 25 May 2012 13:18:05 GMT]]></title><description><![CDATA[<p>cooky451 schrieb:</p>
<blockquote>
<p>Ja, der Standardkonstruktor wird aufgerufen. Aber warum brauchst du new? Reichen Arrays nicht?</p>
<pre><code class="language-cpp">struct A {};
a[10];
</code></pre>
</blockquote>
<p>Wenn er std::bad_alloc bekommt, dann wird in A wahrscheinlich irgendwas ordentlich groß sein. Mit einem normalen Array wird er daher vermutlich nicht gerade glücklich werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2215401</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2215401</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Fri, 25 May 2012 13:18:05 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage zu new on Fri, 25 May 2012 13:23:45 GMT]]></title><description><![CDATA[<p>Ich fragte ja nur, ob er einen guten Grund hat. Zu groß für den Stack wäre einer.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2215405</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2215405</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Fri, 25 May 2012 13:23:45 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage zu new on Fri, 25 May 2012 13:41:32 GMT]]></title><description><![CDATA[<p>cooky451 schrieb:</p>
<blockquote>
<p>Ich fragte ja nur, ob er einen guten Grund hat. Zu groß für den Stack wäre einer.</p>
</blockquote>
<p>Egal welchen Grund er für new[] hat, der Grund gilt dann automatisch auch für vector. Und der ist einfach besser.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2215420</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2215420</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 25 May 2012 13:41:32 GMT</pubDate></item></channel></rss>