<?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[T*&amp;amp; als Rückgabewert]]></title><description><![CDATA[<p>Ich bin eben beim herumprobieren mit einem Template beim Rückgabewert auf etwas gestoßen das bei mir eine Frage aufwirft. Wenn ich als Rückgabewert T&amp; für eine Funktion verwende unt T=int ist wäre der Rückgabewert int&amp;, wenn T=int* ist bekomme ich einen int*. Hat in diesem Fall der * vom Zeiger eine höhere Priorität als das &amp; der Referenz und wird somit die referenz vom Compiler verworfen? Ist das nutzen einer solchen Konstruktion sicher?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/257962/t-amp-als-rückgabewert</link><generator>RSS for Node</generator><lastBuildDate>Wed, 09 Sep 2026 16:38:38 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/257962.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 05 Jan 2010 09:41:22 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to T*&amp;amp; als Rückgabewert on Tue, 05 Jan 2010 09:41:22 GMT]]></title><description><![CDATA[<p>Ich bin eben beim herumprobieren mit einem Template beim Rückgabewert auf etwas gestoßen das bei mir eine Frage aufwirft. Wenn ich als Rückgabewert T&amp; für eine Funktion verwende unt T=int ist wäre der Rückgabewert int&amp;, wenn T=int* ist bekomme ich einen int*. Hat in diesem Fall der * vom Zeiger eine höhere Priorität als das &amp; der Referenz und wird somit die referenz vom Compiler verworfen? Ist das nutzen einer solchen Konstruktion sicher?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1832752</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1832752</guid><dc:creator><![CDATA[Xebov@Logoff]]></dc:creator><pubDate>Tue, 05 Jan 2010 09:41:22 GMT</pubDate></item><item><title><![CDATA[Reply to T*&amp;amp; als Rückgabewert on Tue, 05 Jan 2010 09:43:52 GMT]]></title><description><![CDATA[<p>Xebov@Logoff schrieb:</p>
<blockquote>
<p>Hat in diesem Fall der * vom Zeiger eine höhere Priorität als das &amp; der Referenz und wird somit die referenz vom Compiler verworfen? Ist das nutzen einer solchen Konstruktion sicher?</p>
</blockquote>
<p>Da wird nichts verworfen. int*&amp; ist eine Referenz auf einen Zeiger auf int. So wie int** ein Zeiger auf einen Zeiger auf int ist. Und das Nutzen einer solchen &quot;Konstruktion&quot; ist genauso sicher wie das Nutzen von Referenzen auf jeden anderen Typ.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1832756</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1832756</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 05 Jan 2010 09:43:52 GMT</pubDate></item><item><title><![CDATA[Reply to T*&amp;amp; als Rückgabewert on Tue, 05 Jan 2010 09:48:42 GMT]]></title><description><![CDATA[<p>Du gibst dann eine Referenz auf einen Zeiger zurück, wozu auch immer das gut sein soll. Die Sicherheit ist die gleiche wie immer bei Rückgabe von Referenzen: Der Compiler sollte dich nur gültige Referenzen zurückgeben lassen. Das Objekt auf das der Zeiger zeigt sollte aber sinnvollerweise nach Verlassen der Funktion noch existieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1832764</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1832764</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 05 Jan 2010 09:48:42 GMT</pubDate></item><item><title><![CDATA[Reply to T*&amp;amp; als Rückgabewert on Tue, 05 Jan 2010 09:50:26 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Du gibst dann eine Referenz auf einen Zeiger zurück, wozu auch immer das gut sein soll.</p>
</blockquote>
<p>Naja er schreibt ja dass es um Templates geht. Beispielsweise liefern die Zugriffsoperatoren der STL-Container oft Referenzen auf T. Wenn man also int* in so einem Container speichert kommen die Referenzen auf Zeiger ganz von selber.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1832765</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1832765</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 05 Jan 2010 09:50:26 GMT</pubDate></item><item><title><![CDATA[Reply to T*&amp;amp; als Rückgabewert on Tue, 05 Jan 2010 10:59:32 GMT]]></title><description><![CDATA[<p>Danke. Wusste bisher garnicht das sowas Möglich ist. Habe niemals Erwähnungen dazu gesehen oder die Verwendung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1832815</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1832815</guid><dc:creator><![CDATA[Xebov@Logoff]]></dc:creator><pubDate>Tue, 05 Jan 2010 10:59:32 GMT</pubDate></item><item><title><![CDATA[Reply to T*&amp;amp; als Rückgabewert on Tue, 05 Jan 2010 17:10:49 GMT]]></title><description><![CDATA[<p>Brauchst du zum Beispiel auch, wenn du in einer Funktion einen Zeiger verändern willst. Halt wie man Referenzen braucht - Zeiger sind schliesslich auch nur Objekte.</p>
<pre><code class="language-cpp">void assign_new_int(int*&amp; ptr)
{
    ptr = new int;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1833109</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1833109</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 05 Jan 2010 17:10:49 GMT</pubDate></item><item><title><![CDATA[Reply to T*&amp;amp; als Rückgabewert on Tue, 05 Jan 2010 22:18:10 GMT]]></title><description><![CDATA[<p>Für den Zweck hab ich bisher nur Zeiger Zeiger gesehen, vermutlich war mir deswegen auch eine Referenz auf Zeiger absolut unbekannt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1833356</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1833356</guid><dc:creator><![CDATA[Xebov]]></dc:creator><pubDate>Tue, 05 Jan 2010 22:18:10 GMT</pubDate></item><item><title><![CDATA[Reply to T*&amp;amp; als Rückgabewert on Tue, 05 Jan 2010 22:23:43 GMT]]></title><description><![CDATA[<p>Xebov schrieb:</p>
<blockquote>
<p>Für den Zweck hab ich bisher nur Zeiger Zeiger</p>
</blockquote>
<p>Das ist die Art und Weise wie das in C gemacht wird und die auch in C++-Code noch häufig anzutreffen ist (sofern man da von häufig sprechen kann, kommt ja nicht soo häufig vor). Referenzen auf Zeiger sind &quot;C++iger&quot; <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/1833358</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1833358</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 05 Jan 2010 22:23:43 GMT</pubDate></item></channel></rss>