<?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[STL vector kopieren und loeschen]]></title><description><![CDATA[<p>Hallo zusammen</p>
<p>ich mache sowas:</p>
<pre><code class="language-cpp">vector&lt;PointN&gt;* vEins
vector&lt;PointN&gt; v = *vEins;
vEins-&gt;clear();
</code></pre>
<p>Das heisst ich moechte den Inhalt von Adresse vEins an v uebergeben und vEins dann loeschen, damit ich ihn neu fuellen kann. Aber beim Versuch vEins zu clearen stuerzt er mir ab mit dem Hinweis das das ein Valid Pointer sei. Kann ich das so nicht einfach kopieren und dann den Inhalt loeschen? Muss ich den vector vEins als Referenz uebergeben damit ich das so machen kann? Ich muss halt den Inhalt von vEins aendern und vEins wieder zurueckgeben, daher die rumkopiererei.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/140519/stl-vector-kopieren-und-loeschen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 31 Aug 2026 06:52:59 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/140519.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 15 Mar 2006 14:03:56 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to STL vector kopieren und loeschen on Wed, 15 Mar 2006 14:03:56 GMT]]></title><description><![CDATA[<p>Hallo zusammen</p>
<p>ich mache sowas:</p>
<pre><code class="language-cpp">vector&lt;PointN&gt;* vEins
vector&lt;PointN&gt; v = *vEins;
vEins-&gt;clear();
</code></pre>
<p>Das heisst ich moechte den Inhalt von Adresse vEins an v uebergeben und vEins dann loeschen, damit ich ihn neu fuellen kann. Aber beim Versuch vEins zu clearen stuerzt er mir ab mit dem Hinweis das das ein Valid Pointer sei. Kann ich das so nicht einfach kopieren und dann den Inhalt loeschen? Muss ich den vector vEins als Referenz uebergeben damit ich das so machen kann? Ich muss halt den Inhalt von vEins aendern und vEins wieder zurueckgeben, daher die rumkopiererei.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1016744</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1016744</guid><dc:creator><![CDATA[samo]]></dc:creator><pubDate>Wed, 15 Mar 2006 14:03:56 GMT</pubDate></item><item><title><![CDATA[Reply to STL vector kopieren und loeschen on Wed, 15 Mar 2006 14:06:44 GMT]]></title><description><![CDATA[<p>Die Zuweisung ändert nichts an *vEins. Der Zeiger war also vermutlich schon vorher nicht gültig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1016747</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1016747</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Wed, 15 Mar 2006 14:06:44 GMT</pubDate></item><item><title><![CDATA[Reply to STL vector kopieren und loeschen on Wed, 15 Mar 2006 14:08:56 GMT]]></title><description><![CDATA[<p>In meinem vEins steht aber das drin was soll. Daran kanns also nicht liegen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1016751</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1016751</guid><dc:creator><![CDATA[samo]]></dc:creator><pubDate>Wed, 15 Mar 2006 14:08:56 GMT</pubDate></item><item><title><![CDATA[Reply to STL vector kopieren und loeschen on Wed, 15 Mar 2006 14:10:04 GMT]]></title><description><![CDATA[<p>samo schrieb:</p>
<blockquote>
<p>Aber beim Versuch vEins zu clearen stuerzt er mir ab mit dem Hinweis das das ein Valid Pointer sei.</p>
</blockquote>
<p>Na, wenner Valid ist, ist doch alles gut <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>
<blockquote>
<p>In meinem vEins steht aber das drin was soll. Daran kanns also nicht liegen.</p>
</blockquote>
<p>Schade, naja dann wirds wohl woanders dran liegen (*HINT,HINT* mehr Code *HINT,HINT*)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1016754</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1016754</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Wed, 15 Mar 2006 14:10:04 GMT</pubDate></item><item><title><![CDATA[Reply to STL vector kopieren und loeschen on Wed, 15 Mar 2006 14:10:43 GMT]]></title><description><![CDATA[<p>samo schrieb:</p>
<blockquote>
<p>In meinem vEins steht aber das drin was soll.</p>
</blockquote>
<p>Das heißt gar nichts. Das ist das Problem bei undefiniertem Verhalten: Du kannst daraus, dass etwas funktioniert, nicht schließen, dass alles in Ordnung ist.</p>
<blockquote>
<p>Daran kanns also nicht liegen.</p>
</blockquote>
<p>Na dann sind's wohl Sonnenflecken.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1016758</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1016758</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Wed, 15 Mar 2006 14:10:43 GMT</pubDate></item><item><title><![CDATA[Reply to STL vector kopieren und loeschen on Wed, 15 Mar 2006 14:16:56 GMT]]></title><description><![CDATA[<p>o.k., die genaue Fehlermeldung heisst: user breakpoint. und zwar funktioniert die clear() methode noch, aber danach stuerzt er ab bei der deallokierung. Allerdings versteh ich nicht warum er meinen Pointer deallokiert, wenn ich den Inhalt meines Vectors loesche. Ich dachte immer dabei bleibt der Speicher trotzdem erhalten bei einem Vector.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1016765</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1016765</guid><dc:creator><![CDATA[samo]]></dc:creator><pubDate>Wed, 15 Mar 2006 14:16:56 GMT</pubDate></item><item><title><![CDATA[Reply to STL vector kopieren und loeschen on Wed, 15 Mar 2006 14:27:56 GMT]]></title><description><![CDATA[<p>und ich moechte doch auch gar nicht den pointer loeschen sondern nur das was an der adresse steht. Kann ich das nicht weil mein anderer vector jetzt genau mit dieser Adresse arbeitet? Und wenn dem so ist, wie mache ich es anders?</p>
<p>Danke und sorry fuer die vielleicht bloeden Fragen <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/1016782</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1016782</guid><dc:creator><![CDATA[samo]]></dc:creator><pubDate>Wed, 15 Mar 2006 14:27:56 GMT</pubDate></item><item><title><![CDATA[Reply to STL vector kopieren und loeschen on Wed, 15 Mar 2006 14:41:01 GMT]]></title><description><![CDATA[<p>samo schrieb:</p>
<blockquote>
<p>o.k., die genaue Fehlermeldung heisst: user breakpoint. und zwar funktioniert die clear() methode noch, aber danach stuerzt er ab bei der deallokierung.</p>
</blockquote>
<p>Der Fehler wird vermutlich schon viel früher verursacht, er macht sich nur erst beim Aufruf von clear bemerkbar.</p>
<p>Ich kann mich nur LordJaxom anschließen: Zeig den Code. Am besten ein compilierbares Minimalbeispiel, das den Fehler reproduziert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1016803</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1016803</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Wed, 15 Mar 2006 14:41:01 GMT</pubDate></item><item><title><![CDATA[Reply to STL vector kopieren und loeschen on Wed, 15 Mar 2006 14:42:49 GMT]]></title><description><![CDATA[<blockquote>
<p>o.k., die genaue Fehlermeldung heisst: user breakpoint.</p>
</blockquote>
<p>Sicher, dass das Programm abstürzt? Ist &quot;user breakpoint&quot; nicht ganz einfach eine Meldung des Debuggers, dass du einen Breakpoint gesetzt hast und jetzt manuell die Programmausführung fortführen musst?</p>
<p>MfG SideWinder</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1016806</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1016806</guid><dc:creator><![CDATA[SideWinder]]></dc:creator><pubDate>Wed, 15 Mar 2006 14:42:49 GMT</pubDate></item><item><title><![CDATA[Reply to STL vector kopieren und loeschen on Wed, 15 Mar 2006 14:47:14 GMT]]></title><description><![CDATA[<p>o.k., das ganze tritt in diesem umfeld auf:</p>
<pre><code class="language-cpp">void _declspec (dllexport)alignData(char* cMarkerName, vector&lt;PointN&gt;&amp; vPoints, vector&lt;PointN&gt;&amp; vNormals)
{
	string szName(cMarkerName);
	ifstream file(szName.c_str());

	string::size_type pos1 = 0;
	string::size_type pos2 = 0;

	string szBuffer;
	string szValue;
	PointN p(0.,0.,0.);
	PointN q(0.,0.,0.);
	PointN r(0.,0.,0.);
	PointN trans(0.,0.,0.);
	vector&lt;PointN&gt; vRot;
	bool found; //bool for transformation, if there is no transformation calculated for that datafile, do nothing and return

	//read transformation (rotation and translation) saved in the markerfile
	while(getline(file, szBuffer))
	{
		if(szBuffer.find(&quot;#rotation&quot;,0) != string::npos)
		{
			found = true;
			file &gt;&gt; p[0] &gt;&gt; q[0] &gt;&gt; r[0] &gt;&gt; p[1] &gt;&gt; q[1] &gt;&gt; r[1] &gt;&gt; p[2] &gt;&gt; q[2] &gt;&gt; r[2];
			vRot.push_back(p);
			vRot.push_back(q);
			vRot.push_back(r);
		}
		else if(szBuffer.find(&quot;#translation&quot;,0) != string::npos)
		{
			file &gt;&gt; trans[0] &gt;&gt; trans[1] &gt;&gt; trans[2];
		}
	}
	file.close();

	if(!found)
	{
		printf(&quot;No translation calculated for that file!\n&quot;);
	}
	else
	{
		printf(&quot;aligning data......\n&quot;);

		vector&lt;PointN&gt; vStorePoints = vPoints;
		vPoints.clear(); //&lt;-hier stuerzt er ab
		//calculate transformation on the datapoints
		for(unsigned int i = 0; i &lt; vStorePoints.size(); i++)
		{
			PointN dummy = vStorePoints[i];
			dummy.transform(vRot, trans);
			vPoints.push_back(dummy);
		}
    }
}
</code></pre>
<p>Der Fehler tritt auch erst auf, wenn ich das Programm als DLL einbinde und laufen lasse, vorher nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1016814</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1016814</guid><dc:creator><![CDATA[samo]]></dc:creator><pubDate>Wed, 15 Mar 2006 14:47:14 GMT</pubDate></item><item><title><![CDATA[Reply to STL vector kopieren und loeschen on Wed, 15 Mar 2006 23:16:25 GMT]]></title><description><![CDATA[<p>weiss nu nich, warum er da abschmiert, aber warum kopierst du soviel um?</p>
<pre><code class="language-cpp">vector&lt;PointN&gt; vStorePoints = vPoints;
        vPoints.clear(); //&lt;-hier stuerzt er ab
        //calculate transformation on the datapoints
        for(unsigned int i = 0; i &lt; vStorePoints.size(); i++)
        {
            PointN dummy = vStorePoints[i];
            dummy.transform(vRot, trans);
            vPoints.push_back(dummy);
        }
</code></pre>
<p>warum nicht einfach so?</p>
<pre><code class="language-cpp">//calculate transformation on the datapoints
        for(unsigned int i = 0; i &lt; vPoints.size(); i++)
            vPoints[i].transform(vRot, trans);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1017207</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1017207</guid><dc:creator><![CDATA[thordk]]></dc:creator><pubDate>Wed, 15 Mar 2006 23:16:25 GMT</pubDate></item></channel></rss>