<?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[structur array pointer größe ändern]]></title><description><![CDATA[<p>hi alle,<br />
ich (ver)suche eine einfache Lösung, um ein Pointer-Structur-Array in<br />
seiner Größe zu verändern. Am besten nur mit new und delete. Wer weiß Rat?</p>
<p>best regards<br />
Mozart</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/142486/structur-array-pointer-größe-ändern</link><generator>RSS for Node</generator><lastBuildDate>Tue, 01 Sep 2026 20:02:37 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/142486.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 30 Mar 2006 22:23:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to structur array pointer größe ändern on Thu, 30 Mar 2006 22:23:16 GMT]]></title><description><![CDATA[<p>hi alle,<br />
ich (ver)suche eine einfache Lösung, um ein Pointer-Structur-Array in<br />
seiner Größe zu verändern. Am besten nur mit new und delete. Wer weiß Rat?</p>
<p>best regards<br />
Mozart</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1027570</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1027570</guid><dc:creator><![CDATA[wamozart]]></dc:creator><pubDate>Thu, 30 Mar 2006 22:23:16 GMT</pubDate></item><item><title><![CDATA[Reply to structur array pointer größe ändern on Thu, 30 Mar 2006 22:41:55 GMT]]></title><description><![CDATA[<p>Ich weiß nicht ob ichs richtig verstanden habe, aber vllt. hilft dir das hier weiter:</p>
<pre><code class="language-cpp">T* resizeStruktur(T *old, int oldAnz, int newAnz) { // old - Zeiger auf das alte Array; oldAnz - Anzahl Elemente in old; newAnz - neue Anzahl Elemente
  if(oldAnz&gt;=newAnz) // Gib 0 zurück oder werf ne Exception
  T *neu = new T[newAnz];
  for(int i=0; i&lt;oldAnz; ++i) {
     // Kopiere alle alten Elemente von &quot;old&quot; nach &quot;neu&quot;
  }
  delete[] old;
  return neu;
}
</code></pre>
<p>Am Ende des Programms solltest du nicht vergessen delete[] aufzurufen.</p>
<p>Edit: Eventuell solltest du das nicht zurückgeben, sondern besser neu an old zuweisen. Da ich auf old delete[] angewandt habe, ist das zurückgeben, wenn du es an einen anderen Pointer zuweißt, als an den den du bei old angegeben hast, kannst du diesen nicht mehr benutzen. (Wobei old dann ein Zeiger auf einen Zeiger oder eine Referenz auf einen Zeiger sein muss.)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1027577</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1027577</guid><dc:creator><![CDATA[Vellas]]></dc:creator><pubDate>Thu, 30 Mar 2006 22:41:55 GMT</pubDate></item><item><title><![CDATA[Reply to structur array pointer größe ändern on Fri, 31 Mar 2006 05:59:36 GMT]]></title><description><![CDATA[<p>Eine noch bessere Lösung wäre es wohl, statt blanker Arrays einen STL-Container zu verwenden, z.B. vector&lt;&gt; - die können sich selber um die Vergößerung/Verkleinerung ihres Speichers kümmern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1027618</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1027618</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 31 Mar 2006 05:59:36 GMT</pubDate></item></channel></rss>