<?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[Zeiger oder Referenz]]></title><description><![CDATA[<p>Mich interessiert mal, welche Methode besser und Performanceschonender ist:<br />
[Mit Zeiger oder Referenz?]</p>
<pre><code class="language-cpp">struct VECTOR
{
    float x, y, z;
};

// Referenz
void add(VECTOR &amp;vector)
{
    vector.x += 3;
    vector.y += 3;
    vector.z += 3;
}

// Zeiger
void add(VECTOR *vector)
{
    vector-&gt;x += 3;
    vector-&gt;y += 3;
    vector-&gt;z += 3;
}
</code></pre>
<p>(Sorry, falls Fehler im Code sind. Hab noch keinen Compiler am Internetrechner)<br />
(Die Funktionen haben keinen weiteren Sinn, solln nur als Beispiel dienen)</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/121892/zeiger-oder-referenz</link><generator>RSS for Node</generator><lastBuildDate>Mon, 31 Aug 2026 08:55:51 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/121892.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 28 Sep 2005 12:44:22 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zeiger oder Referenz on Wed, 28 Sep 2005 12:44:22 GMT]]></title><description><![CDATA[<p>Mich interessiert mal, welche Methode besser und Performanceschonender ist:<br />
[Mit Zeiger oder Referenz?]</p>
<pre><code class="language-cpp">struct VECTOR
{
    float x, y, z;
};

// Referenz
void add(VECTOR &amp;vector)
{
    vector.x += 3;
    vector.y += 3;
    vector.z += 3;
}

// Zeiger
void add(VECTOR *vector)
{
    vector-&gt;x += 3;
    vector-&gt;y += 3;
    vector-&gt;z += 3;
}
</code></pre>
<p>(Sorry, falls Fehler im Code sind. Hab noch keinen Compiler am Internetrechner)<br />
(Die Funktionen haben keinen weiteren Sinn, solln nur als Beispiel dienen)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/882095</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/882095</guid><dc:creator><![CDATA[Tc++H]]></dc:creator><pubDate>Wed, 28 Sep 2005 12:44:22 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger oder Referenz on Wed, 28 Sep 2005 12:52:01 GMT]]></title><description><![CDATA[<p>sind identisch in der perfomanz. der erzeugte maschinencode ist identisch.<br />
besser sind hier zeiger, um beim aufruf schon zu zeigen, daß was geändert wird an den daten. nimm die referenz, wenn sie als const-referenz geht, also eigentlich auch by-value gehen würde, und wenn es sich wie mit by-value anfühlen soll.</p>
<pre><code class="language-cpp">void print(VECTOR const &amp;vector)
{
    cout&lt;&lt;vector.x&lt;&lt;' ';
    cout&lt;&lt;vector.y&lt;&lt;' ';
    cout&lt;&lt;vector.z&lt;&lt;' ';
}

// Zeiger
void add(VECTOR *vector)
{
    vector-&gt;x += 3;
    vector-&gt;y += 3;
    vector-&gt;z += 3;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/882097</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/882097</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Wed, 28 Sep 2005 12:52:01 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger oder Referenz on Wed, 28 Sep 2005 12:59:16 GMT]]></title><description><![CDATA[<p>Wenn man mit Zeiger schreibt, sieht es auch viel professioneller aus.<br />
Nach möglichkeit sollte man noch const verwenden. Gibt es noch mehr Tipps, um Performance schonend zu Programmieren?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/882103</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/882103</guid><dc:creator><![CDATA[Tc++H]]></dc:creator><pubDate>Wed, 28 Sep 2005 12:59:16 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger oder Referenz on Wed, 28 Sep 2005 13:19:34 GMT]]></title><description><![CDATA[<p>Tc++H schrieb:</p>
<blockquote>
<p>Wenn man mit Zeiger schreibt, sieht es auch viel professioneller aus.</p>
</blockquote>
<p>hmmm...?</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/882123</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/882123</guid><dc:creator><![CDATA[FireFlow]]></dc:creator><pubDate>Wed, 28 Sep 2005 13:19:34 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger oder Referenz on Wed, 28 Sep 2005 14:13:26 GMT]]></title><description><![CDATA[<p>Mal ne externe Fachmeinung:<br />
<a href="http://www.parashift.com/c++-faq-lite/references.html#faq-8.6" rel="nofollow">http://www.parashift.com/c++-faq-lite/references.html#faq-8.6</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/882198</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/882198</guid><dc:creator><![CDATA[Redhead]]></dc:creator><pubDate>Wed, 28 Sep 2005 14:13:26 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger oder Referenz on Wed, 28 Sep 2005 14:38:47 GMT]]></title><description><![CDATA[<p>Ich bin _nicht_ Volkards Meinung, denn bei nem Zeiger solltest du noch auf != 0 überprüfen, was du dir bei Referenzen sparen kannst. Zudem ist ein add( vec ); kürzer als ein add( &amp;vec );</p>
<p>Ich nehme pointer nur, wenn ich wirklich muss.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/882222</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/882222</guid><dc:creator><![CDATA[User---]]></dc:creator><pubDate>Wed, 28 Sep 2005 14:38:47 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger oder Referenz on Wed, 28 Sep 2005 19:50:36 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>besser sind hier zeiger, um beim aufruf schon zu zeigen, daß was geändert wird an den daten. nimm die referenz, wenn sie als const-referenz geht, also eigentlich auch by-value gehen würde, und wenn es sich wie mit by-value anfühlen soll.</p>
</blockquote>
<p>Mit dieser Meinung bist du hier ziemlich alleine!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/882472</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/882472</guid><dc:creator><![CDATA[swap.]]></dc:creator><pubDate>Wed, 28 Sep 2005 19:50:36 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger oder Referenz on Wed, 28 Sep 2005 20:12:45 GMT]]></title><description><![CDATA[<p>swap. schrieb:</p>
<blockquote>
<p>Mit dieser Meinung bist du hier ziemlich alleine!</p>
</blockquote>
<p>irgend jemand muß ja vorangehen. wir haben lange zeit zu viele referenzen benutzt aus fadenscheiniten gründen, eigentlich nur, weil es geht. du wirst oft hören &quot;nimm immer referenzen, wenn es überhaupt möglich ist und nur im aüßerseten notfall zeiger&quot;. aber selten mit guter begründung und nie mit einer, die einer längeren diskussion standhält. weil es nämlich gar nicht so ist, daß man bei zeigern jeden übergebenen wert auf 0 prüfen sollte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/882490</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/882490</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Wed, 28 Sep 2005 20:12:45 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger oder Referenz on Wed, 28 Sep 2005 20:50:48 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>swap. schrieb:</p>
<blockquote>
<p>Mit dieser Meinung bist du hier ziemlich alleine!</p>
</blockquote>
<p>irgend jemand muß ja vorangehen. wir haben lange zeit zu viele referenzen benutzt aus fadenscheiniten gründen, eigentlich nur, weil es geht. du wirst oft hören &quot;nimm immer referenzen, wenn es überhaupt möglich ist und nur im aüßerseten notfall zeiger&quot;. aber selten mit guter begründung und nie mit einer, die einer längeren diskussion standhält. weil es nämlich gar nicht so ist, daß man bei zeigern jeden übergebenen wert auf 0 prüfen sollte.</p>
</blockquote>
<p>Du glaubst du gehst voran ? Aber nur weil du dich nicht umdrehst und siehst<br />
das alle anderen in die entgegengesetzte Richtung marschieren. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/882510</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/882510</guid><dc:creator><![CDATA[Redhead]]></dc:creator><pubDate>Wed, 28 Sep 2005 20:50:48 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger oder Referenz on Wed, 28 Sep 2005 21:28:41 GMT]]></title><description><![CDATA[<p>m.E. gehoeren Zeiger nur dort hin, wo man sie absolut nicht vermeiden kann.</p>
<p>Referenzen sind aus vielerlei Hinsicht besser: Sie bringen das Fehlerrisko nahe Null, machen den Code lesbarer, und sind fuer den Compiler leichter zu optimieren (da der Geltungsbereich genau definiert ist).</p>
<p>Falls moeglich, sollte man nur Zeiger verwenden, die die Adresse einer Referenz nehmen (z.B. bei Konstruktorparametern).</p>
<p>Am besten ist, man vermeidet auch new- und delete-Operator-Aufrufe. Man kann in C++ ja Objekte auf dem Stack deklarieren, die dann beim Verlassen des Geltungsbereichs automatisch vernichtet werden. Das nicht nur praktisch, sondern auch lesbarer, und bei der Exception-Behandlung muss man sich dann auch um nichts kuemmern.</p>
<p>Manche Leute verwenden gruendsatzlich nur dieses Modell, und verwenden Zeiger nur innerhalb von AutoPointer-Objekten.</p>
<p>Referenzen helfen, C++ Code robust zu machen.</p>
<p>Setzt man Referenzen geschickt ein, kann man in C++ genauso idiotensicher wie z.B. in Java programmieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/882540</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/882540</guid><dc:creator><![CDATA[Power Off]]></dc:creator><pubDate>Wed, 28 Sep 2005 21:28:41 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger oder Referenz on Wed, 28 Sep 2005 21:51:23 GMT]]></title><description><![CDATA[<p>Hoffentlich artet das nicht in Streit aus. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>volkard hat sowieso Unrecht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/882551</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/882551</guid><dc:creator><![CDATA[Gast4]]></dc:creator><pubDate>Wed, 28 Sep 2005 21:51:23 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger oder Referenz on Wed, 28 Sep 2005 21:51:53 GMT]]></title><description><![CDATA[<p>Meine bescheidene Laienmeinung tut hier sicher nichts zur Sache, weswegen ich sie nicht kundtun werde, jedoch möchte ich darauf hinweisen, dass Volkard nicht ganz so &quot;alleine&quot; steht wie, behauptet wurde. Stroustrup sagt in &quot;The C++ Language&quot; das selbe unter Anführung gleicher Gründe (S. 107 deutsch, Ausgabe 4).</p>
<p>Zum Überprüfen der Zeiger auf 0: Weiter oben angeführte C++-FAQ impliziert ähnliches in anderem Kontext: <a href="http://www.parashift.com/c++-faq-lite/exceptions.html#faq-17.12" rel="nofollow">http://www.parashift.com/c++-faq-lite/exceptions.html#faq-17.12</a></p>
<p>(Kurz: dass eine Überprüfung auf 0 von Zeiger-Argumenten nicht immer notwendig ist.)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/882552</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/882552</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Wed, 28 Sep 2005 21:51:53 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger oder Referenz on Wed, 28 Sep 2005 22:04:22 GMT]]></title><description><![CDATA[<p>Konrad Rudolph schrieb:</p>
<blockquote>
<p>(Kurz: dass eine Überprüfung auf 0 von Zeiger-Argumenten nicht immer notwendig ist.)</p>
</blockquote>
<p>Eine Referenz ist kein Zeiger, daher hinkt der Vergleich (falls beabsichtigt).</p>
<p>Die Ueberpruefung von Zeigern auf 0 bringt relativ wenig, da der Fall selten vorkommt, dass ein falscher Zeiger auf die Adresse 0 zeigt.</p>
<p>Ausnahme sind z.B. ungepruefte dynamic_cast&lt;&gt; Aufrufe, sowie andere Aufrufe, die einen 0-Zeiger im Fehlerfall zurueckliefern, der dann ungeprueft als Zeiger verwendet wird. D.h. die Pruefung sollte beim Aufrufer erfolgen und nicht beim Aufgerufenen.</p>
<p>Einziges gutes Argument <em>fuer</em> Zeiger, das mir grade einfaellt, ist, dass die Anzahl von Konstruktoraufrufen durch die Verwendung von Zeigern reduziert werden kann. Dies hat einen definitiven Performance-Impact.</p>
<p>Aber man kann sich dann gleich fragen lassen, warum man C++ und nicht C benutzt. Der Programmieroverhead in C++ wird durch die Verwendung von Zeigern stark erhoeht, und das Fehlerrisiko steigt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/882557</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/882557</guid><dc:creator><![CDATA[Power Off]]></dc:creator><pubDate>Wed, 28 Sep 2005 22:04:22 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger oder Referenz on Wed, 28 Sep 2005 22:07:50 GMT]]></title><description><![CDATA[<p>Power Off schrieb:</p>
<blockquote>
<p>Konrad Rudolph schrieb:</p>
<blockquote>
<p>(Kurz: dass eine Überprüfung auf 0 von Zeiger-Argumenten nicht immer notwendig ist.)</p>
</blockquote>
<p>Eine Referenz ist kein Zeiger, daher hinkt der Vergleich.</p>
</blockquote>
<p>Ich bezog mich auf Volkards Aussage &quot;[...] weil es nämlich gar nicht so ist, daß man bei zeigern jeden übergebenen wert auf 0 prüfen sollte.&quot;</p>
<blockquote>
<p>Der Programmieroverhead in C++ wird durch die Verwendung von Zeigern stark erhoeht, und das Fehlerrisiko steigt.</p>
</blockquote>
<p>Nun, es ging hier doch nur um Parameterübergabe per Zeiger/Referenz und hier entsteht wohl kaum ein Programmieroverhead durch Zeigerverwendung (zumindest, wenn man sich um Nullwerte keine Sorgen macht).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/882560</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/882560</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Wed, 28 Sep 2005 22:07:50 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger oder Referenz on Wed, 28 Sep 2005 22:15:09 GMT]]></title><description><![CDATA[<p>Konrad Rudolph schrieb:</p>
<blockquote>
<p>Nun, es ging hier doch nur um Parameterübergabe per Zeiger/Referenz und hier entsteht wohl kaum ein Programmieroverhead durch Zeigerverwendung (zumindest, wenn man sich um Nullwerte keine Sorgen macht).</p>
</blockquote>
<p>Ja, das stimmt.</p>
<p>Ich mein ja nur. Wenn wir's schon von Referenzen vs. Zeiger haben. <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/882565</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/882565</guid><dc:creator><![CDATA[Power Off]]></dc:creator><pubDate>Wed, 28 Sep 2005 22:15:09 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger oder Referenz on Wed, 28 Sep 2005 22:28:21 GMT]]></title><description><![CDATA[<p>Power Off schrieb:</p>
<blockquote>
<p>Einziges gutes Argument <em>fuer</em> Zeiger, das mir grade einfaellt, ist, dass die Anzahl von Konstruktoraufrufen durch die Verwendung von Zeigern reduziert werden kann. Dies hat einen definitiven Performance-Impact.</p>
</blockquote>
<p>versteh ich nich<br />
im zusammenhang mit referenzen die als argument einer funktion übergeben werden?<br />
wo finden da konstruktorenaufrufe statt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/882569</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/882569</guid><dc:creator><![CDATA[Sovok]]></dc:creator><pubDate>Wed, 28 Sep 2005 22:28:21 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger oder Referenz on Wed, 28 Sep 2005 22:50:12 GMT]]></title><description><![CDATA[<p>Sovok schrieb:</p>
<blockquote>
<p>Power Off schrieb:</p>
<blockquote>
<p>Einziges gutes Argument <em>fuer</em> Zeiger, das mir grade einfaellt, ist, dass die Anzahl von Konstruktoraufrufen durch die Verwendung von Zeigern reduziert werden kann. Dies hat einen definitiven Performance-Impact.</p>
</blockquote>
<p>versteh ich nich<br />
im zusammenhang mit referenzen die als argument einer funktion übergeben werden?<br />
wo finden da konstruktorenaufrufe statt?</p>
</blockquote>
<p>Z.B. bei dieser Sequenz:</p>
<pre><code class="language-cpp">#include &lt;string&gt;

using std::string;

void func( const string&amp; str ) {
   // ...
}

void func2( void ) {
   func( &quot;alpha&quot; );  // versteckter Konstruktor-Aufruf: es wird ein temporaeres string-Objekt angelegt
                     // und danach wieder vernichtet.
   string c = &quot;alpha&quot; + string(&quot;beta&quot;);  // 2 Konstruktor-Aufrufe, 1 Destruktor-Aufruf, 
                                         // 1 operator+() Aufruf
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/882574</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/882574</guid><dc:creator><![CDATA[Power Off]]></dc:creator><pubDate>Wed, 28 Sep 2005 22:50:12 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger oder Referenz on Wed, 28 Sep 2005 22:46:53 GMT]]></title><description><![CDATA[<p>Power Off schrieb:</p>
<blockquote>
<pre><code class="language-cpp">string c = &quot;alpha&quot; + string(&quot;beta&quot;);  // 3 Konstruktor-Aufrufe, 2 Destruktor-Aufrufe, 
                                         // 1 operator+() Aufruf
}
</code></pre>
</blockquote>
<p>ich zähle aber nur 2 ctor-aufrufe, 1 dtor-aufruf und 1 op+()-aufruf.</p>
<pre><code class="language-cpp">/**
   *  @brief  Concatenate C string and string.
   *  @param lhs  First string.
   *  @param rhs  Last string.
   *  @return  New string with value of @a lhs followed by @a rhs.
   */
  template&lt;typename _CharT, typename _Traits, typename _Alloc&gt;
    basic_string&lt;_CharT,_Traits,_Alloc&gt;
    operator+(const _CharT* __lhs,
	      const basic_string&lt;_CharT,_Traits,_Alloc&gt;&amp; __rhs);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/882580</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/882580</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Wed, 28 Sep 2005 22:46:53 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger oder Referenz on Wed, 28 Sep 2005 22:49:06 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>ich zähle aber nur 2 ctor-aufrufe, 1 dtor-aufruf und 1 op+()-aufruf.</p>
</blockquote>
<p>Stimmt, hast recht. Werd's gleich korrigieren! <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>
]]></description><link>https://www.c-plusplus.net/forum/post/882581</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/882581</guid><dc:creator><![CDATA[Power Off]]></dc:creator><pubDate>Wed, 28 Sep 2005 22:49:06 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger oder Referenz on Thu, 29 Sep 2005 05:33:50 GMT]]></title><description><![CDATA[<p>vorteil von zeigern?</p>
<pre><code class="language-cpp">void func( const string* str ) {
   // ...
}

void func2( void ) {

   func( &amp;string ( &quot;alpha&quot; ) );

   //wohl eher 
   string c = string ( &quot;alpha&quot; ) + string(&quot;beta&quot;);  
   //weil &quot;alpha&quot; sonst nur n zeiger is zu dem du addierst
   //beim zweiten kann ich den vorteil von zeigern auch nich nachvollziehn
   //geht schliesslich garned mit zeigern
}
</code></pre>
<p>[/quote]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/882613</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/882613</guid><dc:creator><![CDATA[Sovok]]></dc:creator><pubDate>Thu, 29 Sep 2005 05:33:50 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger oder Referenz on Thu, 29 Sep 2005 06:32:35 GMT]]></title><description><![CDATA[<p>Gast4 schrieb:</p>
<blockquote>
<p>volkard hat sowieso Unrecht.</p>
</blockquote>
<p>Falsch geraten, Volkard hat immer Recht (naja, fast). Er wird schliesslich nicht umsonst &quot;The Godfather&quot; genannt. <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>
<p>Trotzdem hab ich seine Ansichten bzgl. Referenzen vs. Zeiger in diesem Punkt nie nachvollziehen können. Mir ist es ehrlich gesagt zu unintuitiv, anhand semantischer Feinheiten zu erlesen, was ein Programm macht. Mir ist zB vollkommen egal, ob da</p>
<pre><code class="language-cpp">add_something(foo)
</code></pre>
<p>oder</p>
<pre><code class="language-cpp">add_something(&amp;foo)
</code></pre>
<p>steht. Das einzige was mich interessiert, ist, dass <em>something</em> zu <em>foo</em> addiert wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/882635</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/882635</guid><dc:creator><![CDATA[groovemaster]]></dc:creator><pubDate>Thu, 29 Sep 2005 06:32:35 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger oder Referenz on Thu, 29 Sep 2005 07:43:26 GMT]]></title><description><![CDATA[<p>Mein Senf muss auch noch dazu.<br />
Ich mache es oft so, dass ich durch die Wahl anzeige was in der Methode passiert.<br />
Nimmt die Methode einen Pointer, dann kann man sich sicher sein, dass die Methode dem Paramerter verändert.<br />
Nimmt die Methode eine (const) Referenz, dann ist man sich sicher, dass die Methode den Parameter nicht verändern kann.</p>
<p>Wenn ich programmiere, dann weiß ich ja was die Methoden die ich aufrufe machen.<br />
Wenn ich mir später meinen Code wieder durchsehe und Methodenaufrufe mit '&amp;' sehe, dann weiß ich sofort.. oha.. der will einen Pointer -- gut da passen wir mal auf.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/882686</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/882686</guid><dc:creator><![CDATA[hehejo]]></dc:creator><pubDate>Thu, 29 Sep 2005 07:43:26 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger oder Referenz on Thu, 29 Sep 2005 08:14:30 GMT]]></title><description><![CDATA[<p>Also ich kann volkards Meinung in dem Punkt jetzt auch nicht ganz nachvollziehen. Vielleicht ist das aber auch Teil einer Studie und er will nur schauen wieviele Leute in den nächsten Wochen einfach seine Meinung weiterplappern. Vielleicht kommt er aber auch nachher mit dem Bombenargument und begründet seine Meinung zu Pointern.<br />
Ob die Funktion etwas mit dem übergebenen Objekt macht erkenne ich daran ob die übergebene Referenz const ist oder nicht und Pointer benutze ich nur wenn es mit Referenzen nicht geht bzw. umständlicher wäre. Pointer auf 0 prüfen macht meiner Meinung nach nur dann Sinn wenn das Objekt auch 0 sein kann, also zusätzlich zur Zeigerfunktion einen Status darstellt (diverse Libs machen da regen Gebrauch von).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/882703</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/882703</guid><dc:creator><![CDATA[Walli]]></dc:creator><pubDate>Thu, 29 Sep 2005 08:14:30 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger oder Referenz on Thu, 29 Sep 2005 08:23:46 GMT]]></title><description><![CDATA[<blockquote>
<p>(naja, fast)</p>
</blockquote>
<p>genau das meinte ich <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/882708</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/882708</guid><dc:creator><![CDATA[Gast4]]></dc:creator><pubDate>Thu, 29 Sep 2005 08:23:46 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger oder Referenz on Thu, 29 Sep 2005 08:48:23 GMT]]></title><description><![CDATA[<p>hehejo schrieb:</p>
<blockquote>
<p>Nimmt die Methode einen Pointer, dann kann man sich sicher sein, dass die Methode dem Paramerter verändert.<br />
Nimmt die Methode eine (const) Referenz, dann ist man sich sicher, dass die Methode den Parameter nicht verändern kann.</p>
</blockquote>
<p>Warum macht man das nicht gleich nur mit Referenzen?</p>
<pre><code class="language-cpp">void func( const alpha&amp; a );  // a kann nicht geaendert werden
void func( alpha&amp; a );        // a kann geaendert werden
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/882734</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/882734</guid><dc:creator><![CDATA[Power Off]]></dc:creator><pubDate>Thu, 29 Sep 2005 08:48:23 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger oder Referenz on Thu, 29 Sep 2005 08:53:42 GMT]]></title><description><![CDATA[<p>Sovok schrieb:</p>
<blockquote>
<pre><code class="language-cpp">string c = string ( &quot;alpha&quot; ) + string(&quot;beta&quot;);  
//weil &quot;alpha&quot; sonst nur n zeiger is zu dem du addierst
</code></pre>
</blockquote>
<p>Das macht nix, weil es einen operator+( const char*, const string&amp; ) gibt, den Volkard ja aufgelistet hat.<br />
Also ist:</p>
<pre><code class="language-cpp">string c = &quot;alpha&quot; + string(&quot;beta&quot;);
</code></pre>
<p>equivalent zu:</p>
<pre><code class="language-cpp">string c( operator+( &quot;alpha&quot;, string( &quot;beta&quot; ) ) );
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/882738</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/882738</guid><dc:creator><![CDATA[Power Off]]></dc:creator><pubDate>Thu, 29 Sep 2005 08:53:42 GMT</pubDate></item></channel></rss>