<?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ändnis Frage zu reference und zeigern]]></title><description><![CDATA[<p>Hi,</p>
<p>ich hab vor kurzem mit cpp angefangen, ich komm momentan nicht dahinter warum &amp; und * oder benutzt werden oder wahrscheinlich eher wann die genau eingesetzt werden.</p>
<p>*(zeiger)<br />
Der Zeiger zeigt auf die Speicheradresse. Soweit ich auf einer Seite gesehen hab kann man auch mit einem zeiger den Inhalt rausholen indem man vor die Variable *variable macht.</p>
<p>&amp;(reference)<br />
Die reference zeigt auf den Inhalt einer Variable, reference wird meist auch als &quot;Aliasname&quot; im Internet beschrieben. Klar Aliasname ist nur ein anderer Name für eine variable und das keine Kopien erstellt werden von der variable. Bedeutet das aber jetzt dass ich das am besten bei fast jeder variable machen soll die ich mache oder wie erkennt man am besten wann man das macht?</p>
<p>Ich hoffe mir kann wer helfen würd mich freuen. <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 />
Blubberbart</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/202297/verständnis-frage-zu-reference-und-zeigern</link><generator>RSS for Node</generator><lastBuildDate>Tue, 06 Oct 2026 15:51:23 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/202297.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 09 Jan 2008 17:48:07 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Verständnis Frage zu reference und zeigern on Wed, 09 Jan 2008 17:48:07 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich hab vor kurzem mit cpp angefangen, ich komm momentan nicht dahinter warum &amp; und * oder benutzt werden oder wahrscheinlich eher wann die genau eingesetzt werden.</p>
<p>*(zeiger)<br />
Der Zeiger zeigt auf die Speicheradresse. Soweit ich auf einer Seite gesehen hab kann man auch mit einem zeiger den Inhalt rausholen indem man vor die Variable *variable macht.</p>
<p>&amp;(reference)<br />
Die reference zeigt auf den Inhalt einer Variable, reference wird meist auch als &quot;Aliasname&quot; im Internet beschrieben. Klar Aliasname ist nur ein anderer Name für eine variable und das keine Kopien erstellt werden von der variable. Bedeutet das aber jetzt dass ich das am besten bei fast jeder variable machen soll die ich mache oder wie erkennt man am besten wann man das macht?</p>
<p>Ich hoffe mir kann wer helfen würd mich freuen. <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 />
Blubberbart</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1433841</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1433841</guid><dc:creator><![CDATA[blubberbart]]></dc:creator><pubDate>Wed, 09 Jan 2008 17:48:07 GMT</pubDate></item><item><title><![CDATA[Reply to Verständnis Frage zu reference und zeigern on Wed, 09 Jan 2008 18:47:29 GMT]]></title><description><![CDATA[<p>blubberbart schrieb:</p>
<blockquote>
<p>&amp;(reference)<br />
Die reference zeigt auf den Inhalt einer Variable, reference wird meist auch als &quot;Aliasname&quot; im Internet beschrieben.</p>
</blockquote>
<p>Das &quot;&amp;&quot; dient auch dazu die Adresse eines Objekts zurückzuliefern.<br />
Beispiel</p>
<pre><code class="language-cpp">#include &lt;ostream&gt;
#include &lt;iostream&gt;

int main () {
  int a = 10;
  int* p = &amp;a; // p ist Zeiger auf ein int, und wird mit der Adresse von a initialisiert
  int&amp; b = a; // b ist Referenz von a.

  std::cout &lt;&lt; *p &lt;&lt; std::endl; // p wird derefenziert, d.h. der Wert der Variable auf die p zeigt wird ausgegeben
}
</code></pre>
<p>Wann benutzt man Referenzen:<br />
1. Man will eine Variable als In/Out Parametern an eine Funktion übergeben</p>
<pre><code class="language-cpp">#include &lt;ostream&gt;
#include &lt;iostream&gt;

void foo (int&amp; x) {
  ++x;
}

void goo (int x) {
  ++x;
}

int main () {
  int a = 10;
  foo (a);

  std::cout &lt;&lt; &quot;Nach foo a=&quot; &lt;&lt; a &lt;&lt; std::endl;
  goo(a);
  std::cout &lt;&lt; &quot;Nach goo a=&quot; &lt;&lt; a &lt;&lt; std::endl;
}
</code></pre>
<p>2. Das Kopieren eines Objektes (das gilt nicht für integrale Datentypen) ist zu aufwendig, so daß man lieber eine konstante Referenz übergibt.</p>
<pre><code class="language-cpp">class Foo (
...
};

void foo (Foo const&amp; f) {
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1433868</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1433868</guid><dc:creator><![CDATA[*john 0]]></dc:creator><pubDate>Wed, 09 Jan 2008 18:47:29 GMT</pubDate></item></channel></rss>