<?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[Über die Elemente eines Vektor-Zeigers iterieren]]></title><description><![CDATA[<p>Hi zusammen,</p>
<p>ich habe eine Methode, die mir durch</p>
<pre><code class="language-cpp">std::vector&lt;...&gt;* myFunction()
{
    std::vector&lt;...&gt; myVector;
    return &amp;myVector;
}
</code></pre>
<p>einen Zieger auf ein stl-Vektor zurückgibt.</p>
<p>Jetzt möchte ich an einer anderen Stelle mit</p>
<pre><code class="language-cpp">std::vector&lt;...&gt;* myVector = myFunction();
for ( std::vector&lt;...&gt;::iterator it = myVector-&gt;begin(); it != myVector-&gt;end(); ++it )
{
    ...
}
</code></pre>
<p>über die Elemente des Vektors iterieren. Leider erhalte ich da einen Segmentation Fault. Woran könnte das liegen?</p>
<p>Wäre für jeden Hinweis dankbar...</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/160131/über-die-elemente-eines-vektor-zeigers-iterieren</link><generator>RSS for Node</generator><lastBuildDate>Fri, 11 Sep 2026 04:39:51 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/160131.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 22 Sep 2006 09:48:51 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Über die Elemente eines Vektor-Zeigers iterieren on Fri, 22 Sep 2006 09:48:51 GMT]]></title><description><![CDATA[<p>Hi zusammen,</p>
<p>ich habe eine Methode, die mir durch</p>
<pre><code class="language-cpp">std::vector&lt;...&gt;* myFunction()
{
    std::vector&lt;...&gt; myVector;
    return &amp;myVector;
}
</code></pre>
<p>einen Zieger auf ein stl-Vektor zurückgibt.</p>
<p>Jetzt möchte ich an einer anderen Stelle mit</p>
<pre><code class="language-cpp">std::vector&lt;...&gt;* myVector = myFunction();
for ( std::vector&lt;...&gt;::iterator it = myVector-&gt;begin(); it != myVector-&gt;end(); ++it )
{
    ...
}
</code></pre>
<p>über die Elemente des Vektors iterieren. Leider erhalte ich da einen Segmentation Fault. Woran könnte das liegen?</p>
<p>Wäre für jeden Hinweis dankbar...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1142412</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1142412</guid><dc:creator><![CDATA[SweetNuthin]]></dc:creator><pubDate>Fri, 22 Sep 2006 09:48:51 GMT</pubDate></item><item><title><![CDATA[Reply to Über die Elemente eines Vektor-Zeigers iterieren on Fri, 22 Sep 2006 09:57:52 GMT]]></title><description><![CDATA[<p>Beim verlassen der Funktion existiert der zurückgegebene Vektor nicht mehr. Somit hast Du illegale Speicherzugriffe.</p>
<p>Entweder den Vector als parameter übergeben oder in der Funktion mit new zurück geben, dann aber ans löschen denken!!! (auto_ptr ?)</p>
<p>Am besten als ref an die Funktion übergeben die damit was machen soll. Dann muss der aufrufer sich um den Vektor kümmern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1142415</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1142415</guid><dc:creator><![CDATA[Knuddlbaer]]></dc:creator><pubDate>Fri, 22 Sep 2006 09:57:52 GMT</pubDate></item><item><title><![CDATA[Reply to Über die Elemente eines Vektor-Zeigers iterieren on Fri, 22 Sep 2006 10:35:33 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">std::vector&lt;...&gt; myFunction()
{
    std::vector&lt;...&gt; myVector;
    return myVector;
}

// ...

std::vector&lt;...&gt; myVector = myFunction();
for ( std::vector&lt;...&gt;::iterator it = myVector.begin(); it != myVector.end(); ++it )
{
    ...
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1142434</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1142434</guid><dc:creator><![CDATA[finix]]></dc:creator><pubDate>Fri, 22 Sep 2006 10:35:33 GMT</pubDate></item><item><title><![CDATA[Reply to Über die Elemente eines Vektor-Zeigers iterieren on Fri, 22 Sep 2006 10:43:58 GMT]]></title><description><![CDATA[<blockquote>
<p>Beim verlassen der Funktion existiert der zurückgegebene Vektor nicht mehr. Somit hast Du illegale Speicherzugriffe.</p>
</blockquote>
<p>Okay, mein Fehler. Ich glaube nicht, dass das Problem hier liegt, denn die Methode gibt im tatsächlichen Code einen Zeiger auf einen Vektor zurück, der nicht-öffentliches Mitglied der Klasse ist, der auch die Methode selbst angehört. Die entsprechende Instanz dieser Klasse müsste aber schon noch im Speicher existieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1142436</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1142436</guid><dc:creator><![CDATA[SweetNuthin]]></dc:creator><pubDate>Fri, 22 Sep 2006 10:43:58 GMT</pubDate></item><item><title><![CDATA[Reply to Über die Elemente eines Vektor-Zeigers iterieren on Fri, 22 Sep 2006 11:03:44 GMT]]></title><description><![CDATA[<p>Wie sieht denn dein Code tatsächlich aus? Und bist du sicher dass der vector das Problem ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1142445</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1142445</guid><dc:creator><![CDATA[finix]]></dc:creator><pubDate>Fri, 22 Sep 2006 11:03:44 GMT</pubDate></item></channel></rss>