<?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[Referenzen bei low level Datentypen langsamer?]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich habe durch Zufall entdeckt, dass in einem Quellcode einer Templateklasse Attribute per const &amp; zurückgegeben werden.</p>
<p>Diese Attribute werden später durch low level Datentypen ausgeprägt, also was wie int, bool usw.</p>
<p>Da steht dann z.B.</p>
<pre><code class="language-cpp">const T&amp; GetValue() const;
</code></pre>
<p>Macht das Sinn? Ist das egal? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/163123/referenzen-bei-low-level-datentypen-langsamer</link><generator>RSS for Node</generator><lastBuildDate>Sat, 12 Sep 2026 21:45:22 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/163123.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 26 Oct 2006 09:03:14 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Referenzen bei low level Datentypen langsamer? on Thu, 26 Oct 2006 09:03:14 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich habe durch Zufall entdeckt, dass in einem Quellcode einer Templateklasse Attribute per const &amp; zurückgegeben werden.</p>
<p>Diese Attribute werden später durch low level Datentypen ausgeprägt, also was wie int, bool usw.</p>
<p>Da steht dann z.B.</p>
<pre><code class="language-cpp">const T&amp; GetValue() const;
</code></pre>
<p>Macht das Sinn? Ist das egal? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1161708</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1161708</guid><dc:creator><![CDATA[Delryn]]></dc:creator><pubDate>Thu, 26 Oct 2006 09:03:14 GMT</pubDate></item><item><title><![CDATA[Reply to Referenzen bei low level Datentypen langsamer? on Thu, 26 Oct 2006 09:34:25 GMT]]></title><description><![CDATA[<p>Delryn schrieb:</p>
<blockquote>
<p>Hallo!</p>
<p>Ich habe durch Zufall entdeckt, dass in einem Quellcode einer Templateklasse Attribute per const &amp; zurückgegeben werden.</p>
<p>Diese Attribute werden später durch low level Datentypen ausgeprägt, also was wie int, bool usw.</p>
<p>Da steht dann z.B.</p>
<pre><code class="language-cpp">const T&amp; GetValue() const;
</code></pre>
<p>Macht das Sinn? Ist das egal? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
</blockquote>
<p>Keine Ahnung, langsamer ist es auf jeden Fall nicht. Ob es Sinn macht kann ich nicht sagen, aus der Zeile Code kann man nicht grad ne Tonne Information rausziehen. Aber es ist wurscht, ob du da jetzt ein int oder ein vector zurückgibst, die Referenz kratzt das nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1161756</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1161756</guid><dc:creator><![CDATA[GPC]]></dc:creator><pubDate>Thu, 26 Oct 2006 09:34:25 GMT</pubDate></item><item><title><![CDATA[Reply to Referenzen bei low level Datentypen langsamer? on Thu, 26 Oct 2006 09:38:59 GMT]]></title><description><![CDATA[<blockquote>
<p>Keine Ahnung, langsamer ist es auf jeden Fall nicht.</p>
</blockquote>
<p>Okay, dass war der entscheidente Satz <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="🙂"
    /> Dann bleibt es so.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1161757</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1161757</guid><dc:creator><![CDATA[Delryn]]></dc:creator><pubDate>Thu, 26 Oct 2006 09:38:59 GMT</pubDate></item><item><title><![CDATA[Reply to Referenzen bei low level Datentypen langsamer? on Thu, 26 Oct 2006 10:38:37 GMT]]></title><description><![CDATA[<p>Also bei</p>
<pre><code class="language-cpp">int const&amp; Foo();
int Bar();
</code></pre>
<p>kann es schon leicht sein dass Bar() schneller ist.</p>
<p>Noch deutlicher kann es bei Parametern werden, denn mit der Referenz gibst du der aufgerufenen Funktion die Adresse einer Variable bekannt. Wenn diese Variable normalerweise für die Funktion nicht sichtbar/erreichbar wäre (z.B. eine lokale Variable deren Adresse du davor noch nirgends nach aussen gegeben hast), dann zwingt es den Compiler oft den Wert der Variable vor dem Funktionsaufruf in den Speicher zu schreiben, und danach wieder neu zu lesen. Selbst wenn es eine const reference ist, der Compiler vertraut normal nicht darauf dass nirgends const_cast verwendet wird und muss es daher einfach tun. Übergibst du allerdings eine Kopie kann der Compiler wenn er mag den Wert in einem Register stehen lassen.</p>
<p>Wenn der Compiler den Funktionsaufruf &quot;inlinen&quot; kann sollte es in beiden Fällen komplett egal (=gleich schnell) sein.</p>
<p>Wie immer gilt aber natürlich: erst gucken ob die Geschwindigkeit so wies am einfachsten oder &quot;natürlichsten&quot; zu programmieren ist nicht sowieso ausreicht. Und nur wenn nicht, dann einfach ausprobieren was schneller ist, und das verwenden. Kurzes Kommentar dazu wieso man es so und nicht anders gemacht hat, fertig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1161797</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1161797</guid><dc:creator><![CDATA[Plotzenhotz]]></dc:creator><pubDate>Thu, 26 Oct 2006 10:38:37 GMT</pubDate></item><item><title><![CDATA[Reply to Referenzen bei low level Datentypen langsamer? on Thu, 26 Oct 2006 14:55:18 GMT]]></title><description><![CDATA[<p>wer angst um performance hat, kann ja <a href="http://www.boost.org/doc/html/boost_typetraits.html" rel="nofollow">boost::type_traits</a> verwenden um zwischen T und T const&amp; umzuschalten</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1161986</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1161986</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Thu, 26 Oct 2006 14:55:18 GMT</pubDate></item></channel></rss>