<?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[Referenz Member]]></title><description><![CDATA[<p>Hallo,</p>
<p>folgender Code:</p>
<pre><code class="language-cpp">class Foo {
private:
   std::vector&lt;int&gt; vec;
public:
   Foo() {
      Bar b(vec);
   }
};

class Bar {
public:
   std::vector&lt;int&gt;&amp; ref:
   Bar(X myRef) : ref(myRef) { }
}:
</code></pre>
<p>Meine Fragen: Wenn Foo vec veraendert, dann aendert sich immer auch Bar::ref, oder?<br />
Und welcher Typ muss das X sein (im Bar Ctor). Am logischsten erscheint mir std::vector&lt;int&gt;&amp;, aber ginge auch std::vector&lt;int&gt; (also ohne Referenz)?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/278592/referenz-member</link><generator>RSS for Node</generator><lastBuildDate>Tue, 25 Aug 2026 04:14:49 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/278592.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 09 Dec 2010 14:19:22 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Referenz Member on Thu, 09 Dec 2010 14:19:22 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>folgender Code:</p>
<pre><code class="language-cpp">class Foo {
private:
   std::vector&lt;int&gt; vec;
public:
   Foo() {
      Bar b(vec);
   }
};

class Bar {
public:
   std::vector&lt;int&gt;&amp; ref:
   Bar(X myRef) : ref(myRef) { }
}:
</code></pre>
<p>Meine Fragen: Wenn Foo vec veraendert, dann aendert sich immer auch Bar::ref, oder?<br />
Und welcher Typ muss das X sein (im Bar Ctor). Am logischsten erscheint mir std::vector&lt;int&gt;&amp;, aber ginge auch std::vector&lt;int&gt; (also ohne Referenz)?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1991947</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1991947</guid><dc:creator><![CDATA[reffrage]]></dc:creator><pubDate>Thu, 09 Dec 2010 14:19:22 GMT</pubDate></item><item><title><![CDATA[Reply to Referenz Member on Thu, 09 Dec 2010 14:46:54 GMT]]></title><description><![CDATA[<p>reffrage schrieb:</p>
<blockquote>
<p>...<br />
Und welcher Typ muss das X sein (im Bar Ctor). Am logischsten erscheint mir std::vector&lt;int&gt;&amp;, aber ginge auch std::vector&lt;int&gt; (also ohne Referenz)?</p>
</blockquote>
<p>in Letzterem Fall würde die Bar::ref an ein temporäres Objekt gebunden (den Übergabeparameter von Bar::Bar), was mir nicht erwünscht scheint - schließlich beendet der nach Ablauf des Konstruktors sein Leben und Bar::ref zeigt uns Nirvana.<br />
Außerdem scheint mir die gesamte Konstruktion darauf ausgelegt, dass Bar zur Initialisierung von Foo::vec verwendet werden soll - und das klappt nicht, wenn du Bar nur eine Kopie von Foo::vec übergibst.</p>
<p>Ergo: Mit &amp; .</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1991958</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1991958</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Thu, 09 Dec 2010 14:46:54 GMT</pubDate></item></channel></rss>