<?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[Templates]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich möchte mir hier gern ein Template bauen, dass sowohl mit Werten als auch mit Zeigern umgehen kann. Nur leider muss die Zeiger-Variante geringfügig anders implementiert werden als die zeigerlose Variante. Aber wie bringe ich dem Compiler bei, dass zwei Varianten vorhanden sind und er bitte die richtige wählen soll? Geht das überhaupt?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/285650/templates</link><generator>RSS for Node</generator><lastBuildDate>Wed, 15 Apr 2026 12:48:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/285650.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 25 Apr 2011 11:43:32 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Templates on Mon, 25 Apr 2011 11:43:32 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich möchte mir hier gern ein Template bauen, dass sowohl mit Werten als auch mit Zeigern umgehen kann. Nur leider muss die Zeiger-Variante geringfügig anders implementiert werden als die zeigerlose Variante. Aber wie bringe ich dem Compiler bei, dass zwei Varianten vorhanden sind und er bitte die richtige wählen soll? Geht das überhaupt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2053927</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2053927</guid><dc:creator><![CDATA[Mussel]]></dc:creator><pubDate>Mon, 25 Apr 2011 11:43:32 GMT</pubDate></item><item><title><![CDATA[Reply to Templates on Mon, 25 Apr 2011 11:49:19 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">template &lt;typename T&gt;
class Foo
{
public:
  void bar(T t)
  {
    Impl(t).baz();
  }

private:
    template&lt;typename P&gt;
    P&amp; Impl(P* e)
    {
        // pipapo für Zeiger
        return *e;
    }

    template&lt;typename P&gt;
    P&amp; Impl(P&amp; e)
    {
        // pipapo für Referenz
        return e;
    }
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2053933</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2053933</guid><dc:creator><![CDATA[brotbernd]]></dc:creator><pubDate>Mon, 25 Apr 2011 11:49:19 GMT</pubDate></item><item><title><![CDATA[Reply to Templates on Mon, 25 Apr 2011 12:36:20 GMT]]></title><description><![CDATA[<p>Es hat ein wenig gedauert bis ich kapiert habe, dass Du noch ein Template im Template hast und P nicht T ist. Aber was soll ich sagen: Das funktioniert wunderbar.</p>
<p>Vielen Dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2053952</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2053952</guid><dc:creator><![CDATA[Mussel]]></dc:creator><pubDate>Mon, 25 Apr 2011 12:36:20 GMT</pubDate></item><item><title><![CDATA[Reply to Templates on Mon, 25 Apr 2011 12:43:30 GMT]]></title><description><![CDATA[<p>Ansonsten gibt es auch noch Templatespezialisierung:</p>
<pre><code class="language-cpp">template&lt;class T&gt;
class Foo&lt;T&gt; //das &lt;T&gt; ist rudimentär
{
  //Klasse für alles ausser Zeiger
};
template&lt;class T&gt;
class Foo&lt;T*&gt;
{
  //Klasse für Zeiger
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2053960</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2053960</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Mon, 25 Apr 2011 12:43:30 GMT</pubDate></item><item><title><![CDATA[Reply to Templates on Mon, 25 Apr 2011 13:21:19 GMT]]></title><description><![CDATA[<p>Mussel schrieb:</p>
<blockquote>
<p>Ich möchte mir hier gern ein Template bauen,</p>
</blockquote>
<p>Was für eins? Klassentemplate? Funktionstemplate?</p>
<p>Mussel schrieb:</p>
<blockquote>
<p>dass sowohl mit Werten als auch mit Zeigern umgehen kann. Nur leider muss die Zeiger-Variante geringfügig anders implementiert werden als die zeigerlose Variante.</p>
</blockquote>
<p>Bist Du Dir da sicher? Ich zweifle das mal an.</p>
<p>Mussel schrieb:</p>
<blockquote>
<p>Geht das überhaupt?</p>
</blockquote>
<p>Ja. (Teil-)Spezialisierung beziehungsweise Überladung mit oder ohne SFINAE/enable_if. Versuche um's Spezialisieren von größeren Klassendefinitionen drum rum zu kommen. Das geht meist anders eleganter.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2053982</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2053982</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Mon, 25 Apr 2011 13:21:19 GMT</pubDate></item></channel></rss>