<?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 vergrößern, verkleinern ...]]></title><description><![CDATA[<p>Hallo</p>
<p>Wie kann ich am Besten und komfortabelsten ein Array vergrößern bzw verkleinern?</p>
<p>Angenommen ich brauch in einer Funktion ein Array dessen Größe ich erst bestimme.<br />
Beim näschten aufruf arbeite ich wieder mit einem Array desen Größe sich aber geändert haben kann.<br />
Ich habe mir dazu es so gedacht:</p>
<pre><code class="language-cpp">void Funktion(...)
{
	if (p != NULL)
		delete[] p;

	p = new long[cSize]; 

	// ...

}
</code></pre>
<p>Blöderweise brauch ich das Array später kann es also nicht gleich in Funktion(..) löschen.<br />
Ist das OK so ? Geht das noch besser ?? eleganter ?</p>
<p>Gruß Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/247930/dynamisches-array-vergrößern-verkleinern</link><generator>RSS for Node</generator><lastBuildDate>Thu, 17 Sep 2026 08:07:48 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/247930.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 17 Aug 2009 15:11:46 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Dynamisches Array vergrößern, verkleinern ... on Mon, 17 Aug 2009 15:11:46 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Wie kann ich am Besten und komfortabelsten ein Array vergrößern bzw verkleinern?</p>
<p>Angenommen ich brauch in einer Funktion ein Array dessen Größe ich erst bestimme.<br />
Beim näschten aufruf arbeite ich wieder mit einem Array desen Größe sich aber geändert haben kann.<br />
Ich habe mir dazu es so gedacht:</p>
<pre><code class="language-cpp">void Funktion(...)
{
	if (p != NULL)
		delete[] p;

	p = new long[cSize]; 

	// ...

}
</code></pre>
<p>Blöderweise brauch ich das Array später kann es also nicht gleich in Funktion(..) löschen.<br />
Ist das OK so ? Geht das noch besser ?? eleganter ?</p>
<p>Gruß Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1762424</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1762424</guid><dc:creator><![CDATA[martin_zi]]></dc:creator><pubDate>Mon, 17 Aug 2009 15:11:46 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamisches Array vergrößern, verkleinern ... on Mon, 17 Aug 2009 15:16:37 GMT]]></title><description><![CDATA[<p>Da wir hier im C++ Unterforum sind, empfehle ich einfach mal std::vector.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1762428</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1762428</guid><dc:creator><![CDATA[Cox]]></dc:creator><pubDate>Mon, 17 Aug 2009 15:16:37 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamisches Array vergrößern, verkleinern ... on Mon, 17 Aug 2009 15:20:06 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;vector&gt;

void Funktion(vector&lt;long&gt; &amp; vec, unsigned cSize)
{
  vec.resize(cSize);
}

int main()
{
  vector&lt;long&gt; vl;
  foo(vl,999);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1762430</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1762430</guid><dc:creator><![CDATA[Sebastian Pizer]]></dc:creator><pubDate>Mon, 17 Aug 2009 15:20:06 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamisches Array vergrößern, verkleinern ... on Mon, 17 Aug 2009 15:40:45 GMT]]></title><description><![CDATA[<p>Hey das is doch Perfekt <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="😃"
    /> <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="😃"
    /> <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="😃"
    /><br />
<a href="http://en.wikipedia.org/wiki/Vector_(C%2B%2B)" rel="nofollow">http://en.wikipedia.org/wiki/Vector_(C%2B%2B)</a><br />
Das kann alles was ich brauche ...<br />
Sogar &quot;Default-Instanziierung&quot;.</p>
<p>Vielen vielen Dank ...<br />
Martin ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1762445</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1762445</guid><dc:creator><![CDATA[martin_zi]]></dc:creator><pubDate>Mon, 17 Aug 2009 15:40:45 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamisches Array vergrößern, verkleinern ... on Mon, 17 Aug 2009 20:46:10 GMT]]></title><description><![CDATA[<p>In der Standardbibliothek gibts mehrere Container, die für die unterschiedlichsten Aufgaben zuständig sein können. Ich empfehle dir, als Einführung <a href="http://magazin.c-plusplus.net/artikel/Aufbau%20der%20STL%20-%20Teil%201%3A%20Container" rel="nofollow">diesen Artikel</a> durchzulesen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1762592</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1762592</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Mon, 17 Aug 2009 20:46:10 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamisches Array vergrößern, verkleinern ... on Tue, 18 Aug 2009 09:19:11 GMT]]></title><description><![CDATA[<p>Hi</p>
<p>Super danke <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="😃"
    /><br />
Schön ist auch, dass das Studio dir diese Container im Debugger so schön anzeigt. <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="😃"
    /> <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="👍"
    /> <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="👍"
    /> <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="👍"
    /><br />
Damit kann ich doch auch mit eingenen Klassen arbeiten ??<br />
Muss ich dabei irgendwo aufpassen ?</p>
<pre><code class="language-cpp">vector&lt;MyLine&gt; m_Lines;
</code></pre>
<p>Gruß<br />
Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1762730</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1762730</guid><dc:creator><![CDATA[martin_zi]]></dc:creator><pubDate>Tue, 18 Aug 2009 09:19:11 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamisches Array vergrößern, verkleinern ... on Tue, 18 Aug 2009 09:27:46 GMT]]></title><description><![CDATA[<p>martin_zi schrieb:</p>
<blockquote>
<p>Damit kann ich doch auch mit eingenen Klassen arbeiten ??</p>
</blockquote>
<p>Ja.</p>
<p>martin_zi schrieb:</p>
<blockquote>
<p>Muss ich dabei irgendwo aufpassen ?</p>
</blockquote>
<p>Nein, grundsätzlich werden alle Typen gleich gehandhabt (von der <code>std::vector&lt;bool&gt;</code> -Spezialisierung mal abgesehen). Es spielt also keine Rolle, was du in den Container packst. Ich würde allerdings aufpassen, falls du Zeiger speichern willst und manuell Speicher mit <code>new</code> und <code>delete</code> verwaltest, da passieren recht schnell Fehler. Aber solange du normale Objekte im Container hast, ist das kein Problem. Oder auch passive Zeiger gehen gut (solche, die nur auf ein Objekt zeigen, aber nicht für dessen Speicherverwaltung zuständig sind).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1762739</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1762739</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 18 Aug 2009 09:27:46 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamisches Array vergrößern, verkleinern ... on Tue, 18 Aug 2009 09:29:25 GMT]]></title><description><![CDATA[<p>martin_zi schrieb:</p>
<blockquote>
<p>Damit kann ich doch auch mit eingenen Klassen arbeiten ??</p>
</blockquote>
<p>Ja, Du kannst vectoren als Member eigener Klassen verwenden.</p>
<p>martin_zi schrieb:</p>
<blockquote>
<p>Muss ich dabei irgendwo aufpassen ?</p>
</blockquote>
<p>Ja, Du solltest vector nicht als Basisklasse eigener Klassen verwenden und weil es ein Template ist könnte das Kompilat unerwartet groß werden [muss aber nicht]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1762742</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1762742</guid><dc:creator><![CDATA[general bacardi]]></dc:creator><pubDate>Tue, 18 Aug 2009 09:29:25 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamisches Array vergrößern, verkleinern ... on Tue, 18 Aug 2009 10:11:02 GMT]]></title><description><![CDATA[<p>Hi</p>
<blockquote>
<p>Ja, Du solltest vector nicht als Basisklasse eigener Klassen verwenden und weil es ein Template ist könnte das Kompilat unerwartet groß werden [muss aber nicht]</p>
</blockquote>
<p>Was meinst du damit ? Nicht davon ableiten ?</p>
<p>Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1762773</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1762773</guid><dc:creator><![CDATA[martin_zi]]></dc:creator><pubDate>Tue, 18 Aug 2009 10:11:02 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamisches Array vergrößern, verkleinern ... on Tue, 18 Aug 2009 10:22:25 GMT]]></title><description><![CDATA[<p>martin_zi schrieb:</p>
<blockquote>
<p>Hi</p>
<blockquote>
<p>Ja, Du solltest vector nicht als Basisklasse eigener Klassen verwenden und weil es ein Template ist könnte das Kompilat unerwartet groß werden [muss aber nicht]</p>
</blockquote>
<p>Was meinst du damit ? Nicht davon ableiten ?</p>
<p>Grüße</p>
</blockquote>
<p>Ja. Das solltest du generell nicht von Klassen machen, die nicht dafür gedacht sind. (vor allem, wenn du vor hast sie polymorph zu benutzen)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1762777</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1762777</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Tue, 18 Aug 2009 10:22:25 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamisches Array vergrößern, verkleinern ... on Tue, 18 Aug 2009 10:24:32 GMT]]></title><description><![CDATA[<p>Ganz genau. Die STL-Container stellen konkrete Typen dar und sind nicht dafür konzipiert, um von ihnen ableiten zu können. Nur bzgl. der Algorithmen solltest du auch aufpassen, die Klassen sollten ggf. bestimmte Operator-Überladungen bereitstellen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1762779</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1762779</guid><dc:creator><![CDATA[Ad aCTa]]></dc:creator><pubDate>Tue, 18 Aug 2009 10:24:32 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamisches Array vergrößern, verkleinern ... on Tue, 18 Aug 2009 11:16:24 GMT]]></title><description><![CDATA[<p>Alles klar ..</p>
<p>Ad aCTa schrieb:</p>
<blockquote>
<p>Nur bzgl. der Algorithmen solltest du auch aufpassen, die Klassen sollten ggf. bestimmte Operator-Überladungen bereitstellen.</p>
</blockquote>
<p>Achso das ist klar sonst gibt es ja kein Kriterum um zu &quot;vergleichen&quot;.</p>
<p>Ok danke für die Infos ... <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>
<p>Grüße<br />
Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1762802</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1762802</guid><dc:creator><![CDATA[martin_zi]]></dc:creator><pubDate>Tue, 18 Aug 2009 11:16:24 GMT</pubDate></item><item><title><![CDATA[Reply to Dynamisches Array vergrößern, verkleinern ... on Tue, 18 Aug 2009 13:17:24 GMT]]></title><description><![CDATA[<p>martin_zi schrieb:</p>
<blockquote>
<p>Achso das ist klar sonst gibt es ja kein Kriterum um zu &quot;vergleichen&quot;.</p>
</blockquote>
<p>Du brauchst keinen Operator zu überladen, sondern kannst auch einen Funktor oder eine Funktion als Sortierkriterium angeben.</p>
<p>Das ist sogar oft sinnvoller, weil Operatoren nur überladen werden sollten, wenn ihre Bedeutung intuitiv ist. Zum Beispiel ist es mathematisch gesehen recht sinnfrei, für eine Vektorklasse einen Kleiner-Als-Operator anzubieten. Von der Benutzerseite her ist auch nicht klar, wie eine solche Ordnungsrelation definiert ist. Und abgesehen von assoziativen Containern oder Algorithmen, die ein &quot;Strict Weak Ordering&quot; benötigen, braucht man so einen Operator auch nie.</p>
<p>Algorithmen und Iteratoren werden übrigens in späteren Teilen des Artikels erläutert, den ich oben verlinkt habe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1762887</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1762887</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 18 Aug 2009 13:17:24 GMT</pubDate></item></channel></rss>