<?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[Verständnisproblem Adressoperator]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>folgendes Verhalten:</p>
<p>In main:</p>
<pre><code class="language-cpp">Foo bar(0,0,0);
doSomething(&amp;bar);
</code></pre>
<p>in der Funktion mache ich folgendes:</p>
<pre><code class="language-cpp">void doSomething(Foo *bar) {
bar = new Foo(2,2,2);
}
</code></pre>
<p>Zurück in main hat bar weiterhin die Werte 0,0,0.<br />
Was mache ich falsch?</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/252842/verständnisproblem-adressoperator</link><generator>RSS for Node</generator><lastBuildDate>Mon, 14 Sep 2026 04:54:12 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/252842.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 25 Oct 2009 13:08:13 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Verständnisproblem Adressoperator on Sun, 25 Oct 2009 13:08:13 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>folgendes Verhalten:</p>
<p>In main:</p>
<pre><code class="language-cpp">Foo bar(0,0,0);
doSomething(&amp;bar);
</code></pre>
<p>in der Funktion mache ich folgendes:</p>
<pre><code class="language-cpp">void doSomething(Foo *bar) {
bar = new Foo(2,2,2);
}
</code></pre>
<p>Zurück in main hat bar weiterhin die Werte 0,0,0.<br />
Was mache ich falsch?</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1797940</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1797940</guid><dc:creator><![CDATA[curry-king]]></dc:creator><pubDate>Sun, 25 Oct 2009 13:08:13 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnisproblem Adressoperator on Sun, 25 Oct 2009 19:21:17 GMT]]></title><description><![CDATA[<p>leider ziemlich viel...</p>
<pre><code class="language-cpp">Foo bar(0,0,0);
doSomething(bar);
</code></pre>
<p>und</p>
<pre><code class="language-cpp">void doSomething(Foo &amp;bar)
{
 bar = Foo(2, 2, 2);
}
</code></pre>
<p>ODER</p>
<pre><code class="language-cpp">Foo bar(0,0,0);
doSomething(&amp;bar);
</code></pre>
<p>und</p>
<pre><code class="language-cpp">void doSomething(Foo *bar)
{
  assert(bar);
  *bar = Foo(2, 2, 2);
}
</code></pre>
<p>ODER</p>
<pre><code class="language-cpp">Foo *bar;
doSomething(bar);
</code></pre>
<p>und</p>
<pre><code class="language-cpp">void doSomething(Foo *&amp;bar)
{
  assert(bar);
  bar = new Foo(2, 2, 2);
}
</code></pre>
<p>aber dann nicht vergessen, delete wieder aufzurufen...</p>
<p>ich würde die erste möglichkeit wählen, wenn du nicht auf den freispeicher(heap) angewiesen bist...</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1797944</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1797944</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sun, 25 Oct 2009 19:21:17 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnisproblem Adressoperator on Sun, 25 Oct 2009 13:15:36 GMT]]></title><description><![CDATA[<p>Du unterscheidest offensichtlich nicht zwischen &quot;pointer&quot; und &quot;pointee&quot;.</p>
<p>&amp;bar liefert dir einen Zeiger. Dieser Zeiger wird als Wert an die Funktion übergeben. Hierbei wird eine lokale Zeigervariable erzeugt, die unglücklicherweise auch &quot;bar&quot; heißt. In der Funktion wird diese Zeigervariable mit einer neuen Adresse überschrieben. Die Zeigervariable hört wieder auf zu existieren und Du hast ein Speicherleck.</p>
<p>Versuch's nochmal.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1797945</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1797945</guid><dc:creator><![CDATA[Sebastian Pizer]]></dc:creator><pubDate>Sun, 25 Oct 2009 13:15:36 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnisproblem Adressoperator on Sun, 25 Oct 2009 13:28:58 GMT]]></title><description><![CDATA[<p>Danke Jungs, jetzt hab ichs geschnallt!<br />
Vorallem &quot;unskilled&quot; ein herzliches Dankeschön für die schnelle und ausführliche Antwort!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1797953</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1797953</guid><dc:creator><![CDATA[curry-king]]></dc:creator><pubDate>Sun, 25 Oct 2009 13:28:58 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnisproblem Adressoperator on Sun, 25 Oct 2009 14:03:34 GMT]]></title><description><![CDATA[<p>unskilled schrieb:</p>
<blockquote>
<pre><code class="language-cpp">void doSomething(Foo &amp;*bar)
{
  assert(bar);
  bar = new Foo(2, 2, 2);
}
</code></pre>
</blockquote>
<p>Da ist noch ein Dreher drin. Es muss <em>&amp; statt &amp;</em> heissen.<br />
:p <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1797981</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1797981</guid><dc:creator><![CDATA[Sebastian Pizer]]></dc:creator><pubDate>Sun, 25 Oct 2009 14:03:34 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnisproblem Adressoperator on Sun, 25 Oct 2009 19:20:23 GMT]]></title><description><![CDATA[<p>Sebastian Pizer schrieb:</p>
<blockquote>
<p>unskilled schrieb:</p>
<blockquote>
<pre><code class="language-cpp">void doSomething(Foo &amp;*bar)
{
  assert(bar);
  bar = new Foo(2, 2, 2);
}
</code></pre>
</blockquote>
<p>Da ist noch ein Dreher drin. Es muss <em>&amp; statt &amp;</em> heissen.<br />
:p <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
</blockquote>
<p>ach verdammt - ich werds mal ändern^^<br />
wie merkst du dir eigtl, wie rum es sein muss? ich weiß es jz sicherlich wieder paar wochen lang und dann muss ich das nächste mal wieder raten oder sagen, es war ein vertipper <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";D"
      alt="😉"
    /></p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1798199</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1798199</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sun, 25 Oct 2009 19:20:23 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnisproblem Adressoperator on Sun, 25 Oct 2009 19:29:06 GMT]]></title><description><![CDATA[<p>unskilled schrieb:</p>
<blockquote>
<p>wie merkst du dir eigtl, wie rum es sein muss? ich weiß es jz sicherlich wieder paar wochen lang und dann muss ich das nächste mal wieder raten oder sagen, es war ein vertipper <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";D"
      alt="😉"
    /></p>
</blockquote>
<p>Das kannst du dir einfach merken, wenn du Typinformationen von rechts her liest:</p>
<pre><code class="language-cpp">Foo    // Foo-Objekt
Foo*   // Zeiger auf Foo-Objekt
Foo*&amp;  // Referenz auf Zeiger auf Foo-Objekt
</code></pre>
<p>Ähnlich wie bei <code>const</code> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1798206</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1798206</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 25 Oct 2009 19:29:06 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnisproblem Adressoperator on Sun, 25 Oct 2009 19:29:41 GMT]]></title><description><![CDATA[<p>Sprich es aus: Das ist eine Referenz auf ein Zeiger, andersrum wäre es recht komisch. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1798208</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1798208</guid><dc:creator><![CDATA[Ad aCTa]]></dc:creator><pubDate>Sun, 25 Oct 2009 19:29:41 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnisproblem Adressoperator on Sun, 25 Oct 2009 19:59:47 GMT]]></title><description><![CDATA[<p>ah - ty :&gt;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1798225</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1798225</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sun, 25 Oct 2009 19:59:47 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnisproblem Adressoperator on Sun, 25 Oct 2009 20:20:27 GMT]]></title><description><![CDATA[<p>unskilled schrieb:</p>
<blockquote>
<p>wie merkst du dir eigtl, wie rum es sein muss?</p>
</blockquote>
<p>Du kannst solche Deklarationen wunderbar von &quot;innen nach außen&quot; lesen. Man muss sich nur merken, dass Postfix-Operatoren stärker binden als Präfix-Operatoren. Das &amp; für Referenzen verhält sich wie ein Präfix-Operator.</p>
<p>&quot;bar ist eine Referenz auf Zeiger&quot;</p>
<p>Es hat aber eine Weile gedauert, bis ich das verinnerlicht hatte. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Gruß,<br />
SP</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1798236</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1798236</guid><dc:creator><![CDATA[Sebastian Pizer]]></dc:creator><pubDate>Sun, 25 Oct 2009 20:20:27 GMT</pubDate></item></channel></rss>