<?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[mit &#x27;new&#x27; weiteren Speicher anhängen]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe im FAQ-Archiev zum Thema 'new' leider nicht ganz das gefunden was ich brauche.</p>
<p>Undzwar möchte ich für einen Pointer mit 'new' Speicher allokieren und später diesen Speicher mit 'new' erweitern, also quasi so ähnlich wie mit 'push_back' bei Vektoren. Wie macht man das mit 'new' ohnen den bisherigen Inhalt des Pointers zu löschen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/206574/mit-new-weiteren-speicher-anhängen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 10 Oct 2026 13:55:38 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/206574.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 26 Feb 2008 14:42:22 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to mit &#x27;new&#x27; weiteren Speicher anhängen on Tue, 26 Feb 2008 14:42:22 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe im FAQ-Archiev zum Thema 'new' leider nicht ganz das gefunden was ich brauche.</p>
<p>Undzwar möchte ich für einen Pointer mit 'new' Speicher allokieren und später diesen Speicher mit 'new' erweitern, also quasi so ähnlich wie mit 'push_back' bei Vektoren. Wie macht man das mit 'new' ohnen den bisherigen Inhalt des Pointers zu löschen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1463294</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1463294</guid><dc:creator><![CDATA[LukasBanana]]></dc:creator><pubDate>Tue, 26 Feb 2008 14:42:22 GMT</pubDate></item><item><title><![CDATA[Reply to mit &#x27;new&#x27; weiteren Speicher anhängen on Tue, 26 Feb 2008 14:44:18 GMT]]></title><description><![CDATA[<p>Das geht nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1463298</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1463298</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Tue, 26 Feb 2008 14:44:18 GMT</pubDate></item><item><title><![CDATA[Reply to mit &#x27;new&#x27; weiteren Speicher anhängen on Tue, 26 Feb 2008 14:46:15 GMT]]></title><description><![CDATA[<p>Wie würdest du das denn machen? Ich brauche auf alle Fälle einen Pointer.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1463300</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1463300</guid><dc:creator><![CDATA[LukasBanana]]></dc:creator><pubDate>Tue, 26 Feb 2008 14:46:15 GMT</pubDate></item><item><title><![CDATA[Reply to mit &#x27;new&#x27; weiteren Speicher anhängen on Tue, 26 Feb 2008 14:47:36 GMT]]></title><description><![CDATA[<p>Mach es doch so wie vector:</p>
<p>Beleg neuen Speicher der so groß ist wie die brauchst und kopier den alten rein. Dabei musst du natürlich beachten das alles Pointer die in den alten Speicherbereich reichen dadurch ungültig werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1463302</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1463302</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Tue, 26 Feb 2008 14:47:36 GMT</pubDate></item><item><title><![CDATA[Reply to mit &#x27;new&#x27; weiteren Speicher anhängen on Tue, 26 Feb 2008 14:49:59 GMT]]></title><description><![CDATA[<p>So macht das std::vector nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1463307</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1463307</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Tue, 26 Feb 2008 14:49:59 GMT</pubDate></item><item><title><![CDATA[Reply to mit &#x27;new&#x27; weiteren Speicher anhängen on Tue, 26 Feb 2008 14:50:16 GMT]]></title><description><![CDATA[<p>In Ordnung, aber wie kopiere ich die Werte des alten, kleineres Pointers in den neuen, größeren Pointer?<br />
Ich kann diese ja nicht einfach mit einem '=' gleich setzen?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1463308</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1463308</guid><dc:creator><![CDATA[LukasBanana]]></dc:creator><pubDate>Tue, 26 Feb 2008 14:50:16 GMT</pubDate></item><item><title><![CDATA[Reply to mit &#x27;new&#x27; weiteren Speicher anhängen on Tue, 26 Feb 2008 14:51:59 GMT]]></title><description><![CDATA[<p>Erstmal garnicht. Du kannst nicht beeinflussen, welchen Speicher dir der standard- operator new liefert. vector macht es so, dass er zum Anhaengen einen neuen Block speicher anfordert, der groesser ist als der alte, die Objekte vom alten in den neuen Speicherblock kopiert und entsprechend am Ende den freien Speicher am Ende des neuen Blocks mit weiteren Objekten belegen kann. Danach wird der alte Speicher dann freigegeben und die enthaltenen Objekte (die ja rueberkopiert wurden) geloescht.<br />
Viel andere Moeglichkeiten gibt es nicht, da es ja gut moeglich ist, dass der Speicher hinter deinem vorhandenen Speicher schon belegt ist. Der jeweilige Besitzer waere nicht serh erbaut, wenn du seinen Speicher fuer dich beanspruchst und vollschreibst (&quot;nicht sehr erbaute&quot; Programme stuerzen ab, werfen dir einen Core-Dump vor die Fuesse und/oder zeigen undefiniertes Verhalten...)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1463313</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1463313</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 26 Feb 2008 14:51:59 GMT</pubDate></item><item><title><![CDATA[Reply to mit &#x27;new&#x27; weiteren Speicher anhängen on Tue, 26 Feb 2008 14:52:17 GMT]]></title><description><![CDATA[<blockquote>
<p>kleineres Pointers in den neuen, größeren Pointer?</p>
</blockquote>
<p>Pointer sind pro Maschine und OS immer gleich gross.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1463314</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1463314</guid><dc:creator><![CDATA[simon.gysi]]></dc:creator><pubDate>Tue, 26 Feb 2008 14:52:17 GMT</pubDate></item><item><title><![CDATA[Reply to mit &#x27;new&#x27; weiteren Speicher anhängen on Tue, 26 Feb 2008 14:53:36 GMT]]></title><description><![CDATA[<p>simon.gysi schrieb:</p>
<blockquote>
<p>Pointer sind pro Maschine und OS immer gleich gross.</p>
</blockquote>
<p>Soll das heißen ich soll wirklich schreiben: &quot;pNew = pOld;&quot; ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1463316</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1463316</guid><dc:creator><![CDATA[LukasBanana]]></dc:creator><pubDate>Tue, 26 Feb 2008 14:53:36 GMT</pubDate></item><item><title><![CDATA[Reply to mit &#x27;new&#x27; weiteren Speicher anhängen on Tue, 26 Feb 2008 15:03:01 GMT]]></title><description><![CDATA[<p>Nöö ... es bezog sich eher auf die aussage &quot;kleinere&quot; und &quot;größerer&quot; Zeiger, denke ich.<br />
Nimm std::copy (Header: Algorithm) oder notfalls kopier von Hand per Schleife.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1463327</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1463327</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Tue, 26 Feb 2008 15:03:01 GMT</pubDate></item><item><title><![CDATA[Reply to mit &#x27;new&#x27; weiteren Speicher anhängen on Tue, 26 Feb 2008 15:05:11 GMT]]></title><description><![CDATA[<p>(D)Evil schrieb:</p>
<blockquote>
<p>So macht das std::vector nicht.</p>
</blockquote>
<p>Nicht? Sondern?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1463330</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1463330</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Tue, 26 Feb 2008 15:05:11 GMT</pubDate></item><item><title><![CDATA[Reply to mit &#x27;new&#x27; weiteren Speicher anhängen on Tue, 26 Feb 2008 15:06:32 GMT]]></title><description><![CDATA[<p>LukasBanana schrieb:</p>
<blockquote>
<p>Wie würdest du das denn machen? Ich brauche auf alle Fälle einen Pointer.</p>
</blockquote>
<pre><code class="language-cpp">std::vector&lt;char&gt; mem(10);
mem.resize(20);
char* ptr = &amp;mem[0];
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1463334</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1463334</guid><dc:creator><![CDATA[bin nicht er]]></dc:creator><pubDate>Tue, 26 Feb 2008 15:06:32 GMT</pubDate></item><item><title><![CDATA[Reply to mit &#x27;new&#x27; weiteren Speicher anhängen on Tue, 26 Feb 2008 15:08:42 GMT]]></title><description><![CDATA[<p>(D)Evil schrieb:</p>
<blockquote>
<p>So macht das std::vector nicht.</p>
</blockquote>
<p>wie denn dann? oder willst du nur darauf hinaus, dass std::vector evtl. mehr speicher als direkt benötigt wird reserviert?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1463340</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1463340</guid><dc:creator><![CDATA[Jester]]></dc:creator><pubDate>Tue, 26 Feb 2008 15:08:42 GMT</pubDate></item><item><title><![CDATA[Reply to mit &#x27;new&#x27; weiteren Speicher anhängen on Tue, 26 Feb 2008 15:09:31 GMT]]></title><description><![CDATA[<p>std::copy dient zum kopieren von Vektoren und eine for-Schleife ist mir zu langsam. Gibt`s da denn keine andere möglichkeit? Wie genau funktioniert das denn in der Klasse 'Vektor'? Die arbeitet doch intern auch mit Pointern oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1463343</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1463343</guid><dc:creator><![CDATA[LukasBanana]]></dc:creator><pubDate>Tue, 26 Feb 2008 15:09:31 GMT</pubDate></item><item><title><![CDATA[Reply to mit &#x27;new&#x27; weiteren Speicher anhängen on Tue, 26 Feb 2008 15:11:59 GMT]]></title><description><![CDATA[<p>LukasBanana schrieb:</p>
<blockquote>
<p>std::copy dient zum kopieren von Vektoren und eine for-Schleife ist mir zu langsam. Gibt`s da denn keine andere möglichkeit? Wie genau funktioniert das denn in der Klasse 'Vektor'? Die arbeitet doch intern auch mit Pointern oder?</p>
</blockquote>
<p>wieso zu langsam? wie hast du das gemessen?<br />
wie willst du denn bitte ohne schleife x &gt; 1 elemente von a nach b bewegen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1463348</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1463348</guid><dc:creator><![CDATA[bin nicht er]]></dc:creator><pubDate>Tue, 26 Feb 2008 15:11:59 GMT</pubDate></item><item><title><![CDATA[Reply to mit &#x27;new&#x27; weiteren Speicher anhängen on Tue, 26 Feb 2008 15:16:08 GMT]]></title><description><![CDATA[<p>Naja, wenn man in einem Vektor über 10000 Werte gespeichert hat, dann ist eine solche for-Schleife nicht gerade schnell oder? Und Vektor ist meines Erachtens beim hinzufügen von Elementen shr schnell.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1463353</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1463353</guid><dc:creator><![CDATA[LukasBanana]]></dc:creator><pubDate>Tue, 26 Feb 2008 15:16:08 GMT</pubDate></item><item><title><![CDATA[Reply to mit &#x27;new&#x27; weiteren Speicher anhängen on Tue, 26 Feb 2008 15:16:23 GMT]]></title><description><![CDATA[<p>Kannst natürlich auch memcpy benutzen, wenn du denn das Geheule der &quot;bloß kein C&quot;-Fraktion ertragen kannst. <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 <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="😃"
    /></p>
<p>Und std::copy ist nicht nur für Vektoren. Geht auch für Arrays jeglichen Typs.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1463354</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1463354</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Tue, 26 Feb 2008 15:16:23 GMT</pubDate></item><item><title><![CDATA[Reply to mit &#x27;new&#x27; weiteren Speicher anhängen on Tue, 26 Feb 2008 15:16:42 GMT]]></title><description><![CDATA[<p>? Was soll an einer Schleife langsam sein? Nimm halt std::memcpy ... aber damit bekommst du Probleme ... von d.h. was spricht gegen std::copy?</p>
<blockquote>
<p>wie denn dann? oder willst du nur darauf hinaus, dass std::vector evtl. mehr speicher als direkt benötigt wird reserviert?</p>
</blockquote>
<p>korrekt!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1463356</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1463356</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Tue, 26 Feb 2008 15:16:42 GMT</pubDate></item><item><title><![CDATA[Reply to mit &#x27;new&#x27; weiteren Speicher anhängen on Tue, 26 Feb 2008 15:18:14 GMT]]></title><description><![CDATA[<p>LukasBanana schrieb:</p>
<blockquote>
<p>Naja, wenn man in einem Vektor über 10000 Werte gespeichert hat, dann ist eine solche for-Schleife nicht gerade schnell oder? Und Vektor ist meines Erachtens beim hinzufügen von Elementen shr schnell.</p>
</blockquote>
<p>Ja, weil vector auch nur ganz ganz selten kopiert. Der Speicher wird nämlich immer gleich verdoppelt wenn er ausgeht. Dadurch passiert es nicht allzu oft, dass er überhaupt ausgeht. Wenn's aber passiert, dann bezahlst du das auch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1463359</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1463359</guid><dc:creator><![CDATA[Jester]]></dc:creator><pubDate>Tue, 26 Feb 2008 15:18:14 GMT</pubDate></item><item><title><![CDATA[Reply to mit &#x27;new&#x27; weiteren Speicher anhängen on Tue, 26 Feb 2008 15:18:39 GMT]]></title><description><![CDATA[<p>Fellhuhn schrieb:</p>
<blockquote>
<p>Kannst natürlich auch memcpy benutzen, wenn du denn das Geheule der &quot;bloß kein C&quot;-Fraktion ertragen kannst. <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>
</blockquote>
<p>mit &quot;geheule&quot; meint unser freund hier wahrscheinlich die tatsache, dass memcpy nur für pod funktioniert und bei allem anderen jämmerlich verreckt.<br />
das kann man natürlich ignorieren - wenn man dumm ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1463360</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1463360</guid><dc:creator><![CDATA[bin nicht er]]></dc:creator><pubDate>Tue, 26 Feb 2008 15:18:39 GMT</pubDate></item><item><title><![CDATA[Reply to mit &#x27;new&#x27; weiteren Speicher anhängen on Tue, 26 Feb 2008 15:21:03 GMT]]></title><description><![CDATA[<p>... oder es ausreicht. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1463363</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1463363</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Tue, 26 Feb 2008 15:21:03 GMT</pubDate></item><item><title><![CDATA[Reply to mit &#x27;new&#x27; weiteren Speicher anhängen on Tue, 26 Feb 2008 15:23:41 GMT]]></title><description><![CDATA[<p>(D)Evil schrieb:</p>
<blockquote>
<blockquote>
<p>wie denn dann? oder willst du nur darauf hinaus, dass std::vector evtl. mehr speicher als direkt benötigt wird reserviert?</p>
</blockquote>
<p>korrekt!</p>
</blockquote>
<p>dann verstehe ich deinen vehementen einspruch nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1463365</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1463365</guid><dc:creator><![CDATA[Jester]]></dc:creator><pubDate>Tue, 26 Feb 2008 15:23:41 GMT</pubDate></item><item><title><![CDATA[Reply to mit &#x27;new&#x27; weiteren Speicher anhängen on Tue, 26 Feb 2008 15:36:24 GMT]]></title><description><![CDATA[<p>LukasBanana schrieb:</p>
<blockquote>
<p>Naja, wenn man in einem Vektor über 10000 Werte gespeichert hat, dann ist eine solche for-Schleife nicht gerade schnell oder? Und Vektor ist meines Erachtens beim hinzufügen von Elementen shr schnell.</p>
</blockquote>
<p>da du keinen einfluss darauf hast, wo der von new gelieferte speicher liegt, MUSST du kopieren. es führt also kein weg an einer schleife vorbei.<br />
du kannst dir natürlich mit memcpy in den fuß schießen wenn es dir spaß macht (tust du ja eh schon mit new und delete), aber auch memcpy wird den speicher in einer schleife kopieren.</p>
<p>warum nimmst du nicht std::vector und ersparst dir eine menge aufwand und ärger?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1463376</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1463376</guid><dc:creator><![CDATA[bin nicht er]]></dc:creator><pubDate>Tue, 26 Feb 2008 15:36:24 GMT</pubDate></item><item><title><![CDATA[Reply to mit &#x27;new&#x27; weiteren Speicher anhängen on Tue, 26 Feb 2008 15:40:35 GMT]]></title><description><![CDATA[<p>Ich würde gerne einen Vektor verwenden, aber kann der mir von der aktuellen Liste auch einen Pointer geben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1463378</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1463378</guid><dc:creator><![CDATA[LukasBanana]]></dc:creator><pubDate>Tue, 26 Feb 2008 15:40:35 GMT</pubDate></item><item><title><![CDATA[Reply to mit &#x27;new&#x27; weiteren Speicher anhängen on Tue, 26 Feb 2008 15:43:27 GMT]]></title><description><![CDATA[<p>Fellhuhn schrieb:</p>
<blockquote>
<p>... oder es ausreicht. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
</blockquote>
<p>na klar. in der bizarro-welt ist es natürlich vernünftig, sich grundlos von vornherein mit einer dämlichen funktion wie memcpy einzuschränken und später dann den gesamten code durchzugehen, wenn der datentyp in der deklaration sich plötzlich geändert hat und kein pod mehr ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1463381</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1463381</guid><dc:creator><![CDATA[bin nicht er]]></dc:creator><pubDate>Tue, 26 Feb 2008 15:43:27 GMT</pubDate></item><item><title><![CDATA[Reply to mit &#x27;new&#x27; weiteren Speicher anhängen on Tue, 26 Feb 2008 15:44:40 GMT]]></title><description><![CDATA[<p>Ja,</p>
<pre><code class="language-cpp">&amp;(elem[0])
</code></pre>
<p>Wozu brauchst du das denn?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1463383</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1463383</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 26 Feb 2008 15:44:40 GMT</pubDate></item></channel></rss>