<?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[Rückgabe per Referenz]]></title><description><![CDATA[<p>Hi Leute</p>
<p>Wieso kriege ich unten 1 mal A und einmal B als Ausgabe. Bei getModel() wird doch eine Referenz auf den Member von FaceRecog zurückgegeben. Dann ändere ich den Namen. Warum kriege ich unterschiedlich Ergebnisse. Bei Rückgabe per Referenz wird doch normalerweise kein Kopierkonstruktor aufgerufen oder?<br />
Es sollte doch 2 x B rauskommen. Warum kommt A und B raus?</p>
<pre><code>#include &lt;iostream&gt;

using namespace std;

class MyModel
{
public:
	MyModel() { m_modelName = &quot;A!&quot;; }
	void setModelName(const string&amp; name)
	{
		m_modelName = name;
	}

	string m_modelName;
};

class FaceRecog
{
public:
	MyModel&amp; getModel()
	{
		return m_model;
	}
	MyModel m_model;
};

int main()
{
	FaceRecog faceRecog;
	MyModel myModel;
 myModel = faceRecog.getModel();
	myModel.setModelName(&quot;B!&quot;);

	cout &lt;&lt; endl &lt;&lt; &quot;MyModel::Name:&quot; &lt;&lt; myModel.m_modelName.c_str() &lt;&lt; endl;
	cout &lt;&lt; endl &lt;&lt; &quot;FaceRecog::MyModel::Name:&quot; &lt;&lt; faceRecog.getModel().m_modelName.c_str() &lt;&lt; endl;
	cin.get();
	return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/339905/rückgabe-per-referenz</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Apr 2026 17:08:44 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/339905.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 07 Oct 2016 08:20:51 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Rückgabe per Referenz on Fri, 07 Oct 2016 10:03:44 GMT]]></title><description><![CDATA[<p>Hi Leute</p>
<p>Wieso kriege ich unten 1 mal A und einmal B als Ausgabe. Bei getModel() wird doch eine Referenz auf den Member von FaceRecog zurückgegeben. Dann ändere ich den Namen. Warum kriege ich unterschiedlich Ergebnisse. Bei Rückgabe per Referenz wird doch normalerweise kein Kopierkonstruktor aufgerufen oder?<br />
Es sollte doch 2 x B rauskommen. Warum kommt A und B raus?</p>
<pre><code>#include &lt;iostream&gt;

using namespace std;

class MyModel
{
public:
	MyModel() { m_modelName = &quot;A!&quot;; }
	void setModelName(const string&amp; name)
	{
		m_modelName = name;
	}

	string m_modelName;
};

class FaceRecog
{
public:
	MyModel&amp; getModel()
	{
		return m_model;
	}
	MyModel m_model;
};

int main()
{
	FaceRecog faceRecog;
	MyModel myModel;
 myModel = faceRecog.getModel();
	myModel.setModelName(&quot;B!&quot;);

	cout &lt;&lt; endl &lt;&lt; &quot;MyModel::Name:&quot; &lt;&lt; myModel.m_modelName.c_str() &lt;&lt; endl;
	cout &lt;&lt; endl &lt;&lt; &quot;FaceRecog::MyModel::Name:&quot; &lt;&lt; faceRecog.getModel().m_modelName.c_str() &lt;&lt; endl;
	cin.get();
	return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2510835</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2510835</guid><dc:creator><![CDATA[siffkroete]]></dc:creator><pubDate>Fri, 07 Oct 2016 10:03:44 GMT</pubDate></item><item><title><![CDATA[Reply to Rückgabe per Referenz on Fri, 07 Oct 2016 08:38:55 GMT]]></title><description><![CDATA[<p>Vielleicht solltest du richtig lesen?</p>
<pre><code class="language-cpp">MyModel&amp; model = m_faceRecognizer-&gt;getModel();
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2510838</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2510838</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Fri, 07 Oct 2016 08:38:55 GMT</pubDate></item><item><title><![CDATA[Reply to Rückgabe per Referenz on Fri, 07 Oct 2016 09:08:37 GMT]]></title><description><![CDATA[<p>Hi</p>
<p>Danke für die Antwort. Ich programmiere seit Jahren C++ und dachte immer wenn man per Referent was zurückgibt wird immer eine Referenz erstellt auch wenn vornedran keine Referenz steht. Oder vielleicht bin ich nur heute verwirrt, keine Ahnung.<br />
Jetzt ist einiges klar!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2510843</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2510843</guid><dc:creator><![CDATA[siffkroete]]></dc:creator><pubDate>Fri, 07 Oct 2016 09:08:37 GMT</pubDate></item><item><title><![CDATA[Reply to Rückgabe per Referenz on Fri, 07 Oct 2016 09:19:24 GMT]]></title><description><![CDATA[<p>Ich mag es gar nicht, wenn jemand nachträglich eine Frage völlig neu schreibt. Wenn du nicht möchtest, dass man dich für blöd hält, solltest du vielleicht von Anfang an nicht so drauflos poltern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2510844</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2510844</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Fri, 07 Oct 2016 09:19:24 GMT</pubDate></item><item><title><![CDATA[Reply to Rückgabe per Referenz on Fri, 07 Oct 2016 09:35:05 GMT]]></title><description><![CDATA[<p>Vielleicht hast du gemerkt, dass beide Fragen exakt dieselben sind. Und was meinst du wie egal mir ist was du nicht magst. Kannst ja zum Mami rennen und ihr sagen: &quot; Das Verhalten der anderen im Forum mag ich nicht!&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2510845</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2510845</guid><dc:creator><![CDATA[siffkroete]]></dc:creator><pubDate>Fri, 07 Oct 2016 09:35:05 GMT</pubDate></item><item><title><![CDATA[Reply to Rückgabe per Referenz on Fri, 07 Oct 2016 09:36:34 GMT]]></title><description><![CDATA[<p>siffkroete schrieb:</p>
<blockquote>
<p>Vielleicht hast du gemerkt, dass beide Fragen exakt dieselben sind. Und was meinst du wie egal mir ist was du nicht magst. Kannst ja zum Mami rennen und ihr sagen: &quot; Das Verhalten der anderen im Forum mag ich nicht!&quot;.</p>
</blockquote>
<p>Tja, jetzt kann dich doch jeder richtig einschätzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2510846</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2510846</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Fri, 07 Oct 2016 09:36:34 GMT</pubDate></item><item><title><![CDATA[Reply to Rückgabe per Referenz on Fri, 07 Oct 2016 09:48:51 GMT]]></title><description><![CDATA[<p>Und das magst du hoffentlich!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2510847</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2510847</guid><dc:creator><![CDATA[siffkroete]]></dc:creator><pubDate>Fri, 07 Oct 2016 09:48:51 GMT</pubDate></item><item><title><![CDATA[Reply to Rückgabe per Referenz on Fri, 07 Oct 2016 09:49:38 GMT]]></title><description><![CDATA[<p>Sonst schreib mal wieder wenn dir was nicht gefällt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2510848</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2510848</guid><dc:creator><![CDATA[siffkroete]]></dc:creator><pubDate>Fri, 07 Oct 2016 09:49:38 GMT</pubDate></item><item><title><![CDATA[Reply to Rückgabe per Referenz on Fri, 07 Oct 2016 12:27:18 GMT]]></title><description><![CDATA[<p>Fragen nachträglich zu ändern ist blöd und für alle ärgerlich, weil dann alle folgenden Antworten nicht mehr passen. Mach das nicht.</p>
<p>Zu deinem Problem (stand jetzt): du hast 2 Models. Einmal das myModel, einmal das faceRecog.m_model. Diese können natürlich unterschiedlich sein. Du gibst zwar eine Referenz zurück aus getModel, weist es dann aber einer Nicht-Referenz zu. D.h. dann wird kopiert - denn aus einer &quot;normalen&quot; Variablen kann ja nicht plötzlich eine Referenz (oder ein Pointer) werden.</p>
<p>Manni66s erste Antwort passt somit immer noch, auch wenn die Namen jetzt anders sind.</p>
<p>Du musst also das Ergebnis auch einer Referenz-Variable zuweisen, z.B. so: <code>MyModel &amp;myModel = faceRecog.getModel();</code> oder <code>auto &amp;myModel = ...</code> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2510860</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2510860</guid><dc:creator><![CDATA[wob]]></dc:creator><pubDate>Fri, 07 Oct 2016 12:27:18 GMT</pubDate></item></channel></rss>