<?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[Dynamisches Array, alternativen zu malloc und realloc ...]]></title><description><![CDATA[<p>Hallo zusammen!!</p>
<p>Wie kann ich denn ein Array dynamisch vergrößern, dass ich z.B. über new angelegt hab? (außer mit realloc?)</p>
<pre><code class="language-cpp">//Array anlegen
	int *arr = new int[10];

	for(int i=0;i&lt;10;i++)
		arr[i] = i;

//Array vergrößern, alternativen??
	arr = (int *) realloc(arr,sizeof(int*) * 20);

	for(int i=10;i&lt;20;i++)
		arr[i] = i;

	for(int i=0;i&lt;20;i++)
		cout &lt;&lt; i &lt;&lt; &quot;:&quot;&lt;&lt;arr[i] &lt;&lt; endl;
</code></pre>
<pre><code class="language-cpp">//Vergrößern?? ;(
arr = new (arr) int[20];
</code></pre>
<p>Eher nicht, es scheint als ob hier nicht zusätzlich speicher alloziert wird ...</p>
<p>Danke schon mal &amp; Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/203651/dynamisches-array-alternativen-zu-malloc-und-realloc</link><generator>RSS for Node</generator><lastBuildDate>Sun, 05 Apr 2026 15:42:27 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/203651.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 24 Jan 2008 20:11:08 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Dynamisches Array, alternativen zu malloc und realloc ... on Thu, 24 Jan 2008 20:11:08 GMT]]></title><description><![CDATA[<p>Hallo zusammen!!</p>
<p>Wie kann ich denn ein Array dynamisch vergrößern, dass ich z.B. über new angelegt hab? (außer mit realloc?)</p>
<pre><code class="language-cpp">//Array anlegen
	int *arr = new int[10];

	for(int i=0;i&lt;10;i++)
		arr[i] = i;

//Array vergrößern, alternativen??
	arr = (int *) realloc(arr,sizeof(int*) * 20);

	for(int i=10;i&lt;20;i++)
		arr[i] = i;

	for(int i=0;i&lt;20;i++)
		cout &lt;&lt; i &lt;&lt; &quot;:&quot;&lt;&lt;arr[i] &lt;&lt; endl;
</code></pre>
<pre><code class="language-cpp">//Vergrößern?? ;(
arr = new (arr) int[20];
</code></pre>
<p>Eher nicht, es scheint als ob hier nicht zusätzlich speicher alloziert wird ...</p>
<p>Danke schon mal &amp; Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1443094</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1443094</guid><dc:creator><![CDATA[pmneo]]></dc:creator><pubDate>Thu, 24 Jan 2008 20:11:08 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamisches Array, alternativen zu malloc und realloc ... on Thu, 24 Jan 2008 20:20:02 GMT]]></title><description><![CDATA[<p>ohje, was du mit new anlegst, solltest du nicht mit realloc vergrößern!<br />
new und malloc arbeiten völlig anders.<br />
Um das Array zu vergrößern, solltest du ein neues array mit der neuen größe mit new anlegen, mit memset initialisieren und mit memcopy das alte rüber kopieren.<br />
Dann das alte array mit delete[] (die [] sind wichtig) löschen.<br />
In C++ würde ich aber std::vector nehmen, der kann das besser!<br />
BTW gehört die Frage nicht in MFC Forum sondern wenn ins C++ Forum. Aber macht ja nix, wird sicher verschoben.. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1443103</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1443103</guid><dc:creator><![CDATA[CGast++]]></dc:creator><pubDate>Thu, 24 Jan 2008 20:20:02 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamisches Array, alternativen zu malloc und realloc ... on Thu, 24 Jan 2008 20:27:08 GMT]]></title><description><![CDATA[<p>Ahja, dacht ich mir schon <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>
<p>Daher ja die frage <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>
<p>du meinst also so in die richtung:</p>
<pre><code class="language-cpp">int *arr = new int[10];

	for(int i=0;i&lt;10;i++)
		arr[i] = i;

	//arr = (int *) realloc(arr,sizeof(int*) * 20);
	int *tmp = arr;

	arr = new int[20];
	memset(arr,0,sizeof(int*) * 10);
	memcpy(arr,tmp,sizeof(int*) * 10);
	//delete old arr
	delete[] tmp;

	for(int i=10;i&lt;20;i++)
		arr[i] = i;

	for(int i=0;i&lt;20;i++)
		cout &lt;&lt; i &lt;&lt; &quot;:&quot;&lt;&lt;arr[i] &lt;&lt; endl;
</code></pre>
<p>Oder?</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1443111</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1443111</guid><dc:creator><![CDATA[pmneo]]></dc:creator><pubDate>Thu, 24 Jan 2008 20:27:08 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamisches Array, alternativen zu malloc und realloc ... on Thu, 24 Jan 2008 20:53:24 GMT]]></title><description><![CDATA[<p>ja, so ähnlich <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>
<pre><code class="language-cpp">int* arr = new int[10];
	for (int i = 0; i &lt; 10; i++)
		arr[i] = i;

	int* tmp = new int[20];
	memset(tmp, 0, sizeof(tmp[0])*20);
	memcpy(tmp, arr, sizeof(arr[0])*10);

	delete[] arr;
	arr = tmp;

	for (int i = 10; i &lt; 20; i++)
		arr[i] = i;

	for (int i = 0; i &lt; 20; i++)
		std::cout &lt;&lt; arr[i];

	delete[] arr;
</code></pre>
<p>aber wie gesagt, sehr Fehleranfällig das ganze...</p>
<p>Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1443138</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1443138</guid><dc:creator><![CDATA[CGast++]]></dc:creator><pubDate>Thu, 24 Jan 2008 20:53:24 GMT</pubDate></item></channel></rss>