<?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[Simples Array erweitern]]></title><description><![CDATA[<p>Hi ich wollte gern ein gegebenes Array mit Werten einfach erweitern mit dieser Methode</p>
<pre><code class="language-cpp">void resize(size_t newSize){
		type* temp = new type[newSize];
			for(int i = 0 ; i &lt; (sizeof(temp) / sizeof(temp[0])); i++){
				temp[i] = 0;
		}
			for(int i = 0 ; i &lt; (sizeof(temp) / sizeof(temp[0])); i++){
				temp[i] = values[i];
		}
			delete[] values;
		    values = new type[newSize];
			for(int i = 0 ; i &lt; (sizeof(values) / sizeof(values[0])) ; i++){
				 values[i] = temp[i];
		}
			size = newSize;
	}
</code></pre>
<p>Aber anscheinend ist etwas falsch da wenn ich danach mein Array neu ausgeben lasse kommen unrealistische Werte herraus</p>
<p>Wie sieht das ganze in richtig aus? <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/topic/302427/simples-array-erweitern</link><generator>RSS for Node</generator><lastBuildDate>Tue, 11 Aug 2026 08:39:54 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/302427.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 18 Apr 2012 12:52:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Simples Array erweitern on Wed, 18 Apr 2012 12:52:24 GMT]]></title><description><![CDATA[<p>Hi ich wollte gern ein gegebenes Array mit Werten einfach erweitern mit dieser Methode</p>
<pre><code class="language-cpp">void resize(size_t newSize){
		type* temp = new type[newSize];
			for(int i = 0 ; i &lt; (sizeof(temp) / sizeof(temp[0])); i++){
				temp[i] = 0;
		}
			for(int i = 0 ; i &lt; (sizeof(temp) / sizeof(temp[0])); i++){
				temp[i] = values[i];
		}
			delete[] values;
		    values = new type[newSize];
			for(int i = 0 ; i &lt; (sizeof(values) / sizeof(values[0])) ; i++){
				 values[i] = temp[i];
		}
			size = newSize;
	}
</code></pre>
<p>Aber anscheinend ist etwas falsch da wenn ich danach mein Array neu ausgeben lasse kommen unrealistische Werte herraus</p>
<p>Wie sieht das ganze in richtig aus? <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/2203255</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2203255</guid><dc:creator><![CDATA[Ent]]></dc:creator><pubDate>Wed, 18 Apr 2012 12:52:24 GMT</pubDate></item><item><title><![CDATA[Reply to Simples Array erweitern on Wed, 18 Apr 2012 13:04:10 GMT]]></title><description><![CDATA[<p>Nimm um himmelswillen std::vector! Und verbrenn dein Lehrbuch!</p>
<p>Fehler:<br />
- Stil: Globale Variablen<br />
- Fehler: sizeof(pointertyp) ist eben die Größe eines Pointers, nicht dessen, worauf er zeigt<br />
- Stil: Nullsetzen kannst du auch im new<br />
- Stil warum Nullsetzen, wenn du sofort mit anderen Werten überschreibst?<br />
- Stil: Um drei Ecken gedacht: Erst neues temporäres Feld angelegt, dann Werte reinkopiert, dann neues Feld angelegt, dann Werte zurückkopiert. Warum nicht einfach dem alten Pointer das neue Feld zuweisen<br />
- Stil: Und wenn eines der new eine Exception wirft? Dann fliegen deine alten Werte im Nirvana rum.<br />
- Stil: Au weia! Das macht man einfach nicht so, mit der manuellen Speicherverwaltung. Das kapselt man sauber in Klassen, die sich an RAII halten. Dann kann auch nix mehr schiefgehen. Und die Kapselung von new[] kennt die Standardbibliothek schon. Nennt sich std::vector.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2203256</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2203256</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 18 Apr 2012 13:04:10 GMT</pubDate></item><item><title><![CDATA[Reply to Simples Array erweitern on Wed, 18 Apr 2012 13:08:27 GMT]]></title><description><![CDATA[<p>So:</p>
<pre><code class="language-cpp">void resize( std::size_t newSize )
    {
        assert( newSize &gt;= size );
        type* temp = new type[newSize];
        std::fill( std::copy( values, values + size, temp ), temp + newSize, type(0) );
        delete[] values;
        values = temp;
        size = newSize;
    }
</code></pre>
<p>.. wobei das nur für rudimentäre Typen Sinn macht</p>
<p>besser: nimm std::vector</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2203261</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2203261</guid><dc:creator><![CDATA[Werner_logoff]]></dc:creator><pubDate>Wed, 18 Apr 2012 13:08:27 GMT</pubDate></item></channel></rss>