<?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[Problem mit Kopierkonstruktor]]></title><description><![CDATA[<p>Ich habe mir einen Kopierkonstruktor geschrieben, aber ich habe einen Fehler entdeckt:</p>
<pre><code class="language-cpp">Storage::Storage(const std::vector&lt;float&gt; &amp;data) {
	m_iSize = data.size();
	this-&gt;m_vData = new float[data.size()];
	for(unsigned int i = 0; i &lt; data.size(); i++)
		m_vData[i] = data[i];
</code></pre>
<p>Wenn ich den Kopierkonstruktor jetzt teste, dann kommt im oberen beispiel korrekt: 1,2,3 als ausgabe heraus. Im zweiten jedoch 0,2,3!!! ich weis nicht was ich falsch gemacht habe, dass da so verschiedene ergebnisse kommen.</p>
<pre><code class="language-cpp">std::vector&lt;float&gt; data;
	data.push_back(1);
	data.push_back(2);
	data.push_back(3);

	MATH::Vector v4(data);
	cout&lt;&lt;v4[0]&lt;&lt;endl;
	cout&lt;&lt;v4[1]&lt;&lt;endl;
	cout&lt;&lt;v4[2]&lt;&lt;endl;

	v4 = data;
	cout&lt;&lt;v4[0]&lt;&lt;endl;
	cout&lt;&lt;v4[1]&lt;&lt;endl;
	cout&lt;&lt;v4[2]&lt;&lt;endl;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/234807/problem-mit-kopierkonstruktor</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 08:25:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/234807.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 22 Feb 2009 17:33:41 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit Kopierkonstruktor on Sun, 22 Feb 2009 17:33:41 GMT]]></title><description><![CDATA[<p>Ich habe mir einen Kopierkonstruktor geschrieben, aber ich habe einen Fehler entdeckt:</p>
<pre><code class="language-cpp">Storage::Storage(const std::vector&lt;float&gt; &amp;data) {
	m_iSize = data.size();
	this-&gt;m_vData = new float[data.size()];
	for(unsigned int i = 0; i &lt; data.size(); i++)
		m_vData[i] = data[i];
</code></pre>
<p>Wenn ich den Kopierkonstruktor jetzt teste, dann kommt im oberen beispiel korrekt: 1,2,3 als ausgabe heraus. Im zweiten jedoch 0,2,3!!! ich weis nicht was ich falsch gemacht habe, dass da so verschiedene ergebnisse kommen.</p>
<pre><code class="language-cpp">std::vector&lt;float&gt; data;
	data.push_back(1);
	data.push_back(2);
	data.push_back(3);

	MATH::Vector v4(data);
	cout&lt;&lt;v4[0]&lt;&lt;endl;
	cout&lt;&lt;v4[1]&lt;&lt;endl;
	cout&lt;&lt;v4[2]&lt;&lt;endl;

	v4 = data;
	cout&lt;&lt;v4[0]&lt;&lt;endl;
	cout&lt;&lt;v4[1]&lt;&lt;endl;
	cout&lt;&lt;v4[2]&lt;&lt;endl;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1668217</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1668217</guid><dc:creator><![CDATA[dingsdaxx]]></dc:creator><pubDate>Sun, 22 Feb 2009 17:33:41 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Kopierkonstruktor on Sun, 22 Feb 2009 17:40:49 GMT]]></title><description><![CDATA[<p>1. Das ist kein Kopierkonstruktor, sondern ein normaler Konstruktor.<br />
2. Wieso heisst die Klasse, von der du uns den Konstruktor zeigst, Storage, während unten die Klasse MATH::Vector genommen wird?<br />
3. Wie sieht denn der Zuweisungoperator bei dir aus, denn im zweiten Fall wird der Zuweisungoperator benutzt.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1668220</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1668220</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Sun, 22 Feb 2009 17:40:49 GMT</pubDate></item></channel></rss>