<?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[copy mit vectoren die Pointer speichern]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich versuche folgendes:</p>
<pre><code class="language-cpp">// In einer for-schleife mit i
    	copy(m_klasse-&gt;AccessQuelle().begin(),  // Referenz auf Vector
    		 m_klasse-&gt;AccessQuelle().end(), // Referenz auf Vector
    		 m_ziele[i].begin()); // Vector m_ziele wurde vorher mit resize angelegt.
</code></pre>
<p>In der Quelle sind jeweils Pointer auf Klassen, allerdings enthalten die Vektoren in m_ziele nach dem kopieren stets 0 Elemente. Es werden also keine Pointer kopiert.</p>
<p>Jetzt mach ich das umständlich mit einer weiteren forschleife. Wo ist denn da der Fehler?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/252900/copy-mit-vectoren-die-pointer-speichern</link><generator>RSS for Node</generator><lastBuildDate>Mon, 14 Sep 2026 04:10:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/252900.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 26 Oct 2009 08:44:08 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to copy mit vectoren die Pointer speichern on Mon, 26 Oct 2009 08:44:08 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich versuche folgendes:</p>
<pre><code class="language-cpp">// In einer for-schleife mit i
    	copy(m_klasse-&gt;AccessQuelle().begin(),  // Referenz auf Vector
    		 m_klasse-&gt;AccessQuelle().end(), // Referenz auf Vector
    		 m_ziele[i].begin()); // Vector m_ziele wurde vorher mit resize angelegt.
</code></pre>
<p>In der Quelle sind jeweils Pointer auf Klassen, allerdings enthalten die Vektoren in m_ziele nach dem kopieren stets 0 Elemente. Es werden also keine Pointer kopiert.</p>
<p>Jetzt mach ich das umständlich mit einer weiteren forschleife. Wo ist denn da der Fehler?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1798370</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1798370</guid><dc:creator><![CDATA[kopierenUndKaffeekochen]]></dc:creator><pubDate>Mon, 26 Oct 2009 08:44:08 GMT</pubDate></item><item><title><![CDATA[Reply to copy mit vectoren die Pointer speichern on Mon, 26 Oct 2009 09:02:58 GMT]]></title><description><![CDATA[<p>Hast du für das Ziel genug Speicher reserviert?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1798378</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1798378</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Mon, 26 Oct 2009 09:02:58 GMT</pubDate></item><item><title><![CDATA[Reply to copy mit vectoren die Pointer speichern on Mon, 26 Oct 2009 09:32:30 GMT]]></title><description><![CDATA[<p>Sieht jetzt so aus:</p>
<pre><code class="language-cpp">// In einer for-schleife mit i

m_ziele[i].resize( m_klasse-&gt;AccessQuelle().size() );
        copy(m_klasse-&gt;AccessQuelle().begin(), 
             m_klasse-&gt;AccessQuelle().end(), 
             m_ziele[i].begin());
</code></pre>
<p>In Ziele wird weiterhin nichts kopiert <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1798394</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1798394</guid><dc:creator><![CDATA[kopierenUndKaffeekochen]]></dc:creator><pubDate>Mon, 26 Oct 2009 09:32:30 GMT</pubDate></item><item><title><![CDATA[Reply to copy mit vectoren die Pointer speichern on Mon, 26 Oct 2009 09:48:22 GMT]]></title><description><![CDATA[<p>zwar nicht die Fehlerursache, allerdings bietet sich hier</p>
<pre><code class="language-cpp">m_ziele[i].assign( m_klasse-&gt;AccessQuelle().begin(), m_klasse-&gt;AccessQuelle().end() );
</code></pre>
<p>an</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1798402</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1798402</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Mon, 26 Oct 2009 09:48:22 GMT</pubDate></item><item><title><![CDATA[Reply to copy mit vectoren die Pointer speichern on Mon, 26 Oct 2009 09:57:48 GMT]]></title><description><![CDATA[<p>kopierenUndKaffeekochen schrieb:</p>
<blockquote>
<pre><code class="language-cpp">// In einer for-schleife mit i
    	copy(m_klasse-&gt;AccessQuelle().begin(),  // Referenz auf Vector
    		 m_klasse-&gt;AccessQuelle().end(), // Referenz auf Vector
    		 m_ziele[i].begin()); // Vector m_ziele wurde vorher mit resize angelegt.
</code></pre>
<p>In der Quelle sind jeweils Pointer auf Klassen, allerdings enthalten die Vektoren in m_ziele nach dem kopieren stets 0 Elemente. Es werden also keine Pointer kopiert.</p>
</blockquote>
<p>Wie sieht denn dein m_ziele.resize-Aufruf aus und welchen Zustand hat m_ziele vor diesem Aufruf? Wenn m_ziele ein Vektor aus Vektoren ist und du nur resize auf dem &quot;äußeren&quot; Vektor ohne 2. Parameter aufrufst, dann haben die neuen &quot;inneren&quot; Vektoren die Länge 0.</p>
<p>Wenn der Typ von m_ziele[i] und AccessQuelle() die gleichen sind, müsste auch das hier funktionieren:</p>
<pre><code class="language-cpp">m_ziele.clear();
m_ziele.resize(N,m_klasse-&gt;AccessQuelle()); // N Kopien des AccessQuelle-Vektors
</code></pre>
<p>Sonst gibt es ja noch vector&lt;&gt;::assign und die Adapter std::inserter und std::back_inserter aus &lt;iterator&gt;.</p>
<p>BTW: Beim nächten Mal einfach mehr Code zeigen, besonders die Typen.</p>
<p>Gruß,<br />
SP</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1798409</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1798409</guid><dc:creator><![CDATA[Sebastian Pizer]]></dc:creator><pubDate>Mon, 26 Oct 2009 09:57:48 GMT</pubDate></item></channel></rss>