<?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[Varadic templates - Zusammenfassung?]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>Kurze einfache Frage:<br />
Gibt es irgendwo eine komplette Zusammenfassung von den Variadic Templates? Nicht sowas komplexes wie es im Standard steht, einfach nur eine Erklärung, wie man sie verwendet. Weil mir persönlich kämen da noch lustige Ideen in den Kopf, was man damit tun könnte, aber ich könnte mir vorstellen, dass man beim Komittee nicht soweit gegangen ist. Zum Beispiel fände ich sowas toll:</p>
<pre><code class="language-cpp">template&lt;typename ...ArgsT&gt;
void foo(ArgsT ...args)
{
  // ...

  ArgsT...
  {
    // Der Block wird für jeden Typ in ArgsT dupliziert.
    // Der aktuelle Typ wird über ArgsT angesprochen.
    // Quasi eine Codegenerierung.
  }

  // Das gleiche könnte man auch mit args machen.

  // ...
}
</code></pre>
<p>Aber wahrscheinlich denke ich da zu utopisch <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="🙂"
    /><br />
Aber würde halt schon mal genau wissen, auf was ich mich da genau einstellen kann.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/239835/varadic-templates-zusammenfassung</link><generator>RSS for Node</generator><lastBuildDate>Tue, 22 Sep 2026 07:19:36 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/239835.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 28 Apr 2009 15:24:47 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Varadic templates - Zusammenfassung? on Tue, 28 Apr 2009 15:24:47 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>Kurze einfache Frage:<br />
Gibt es irgendwo eine komplette Zusammenfassung von den Variadic Templates? Nicht sowas komplexes wie es im Standard steht, einfach nur eine Erklärung, wie man sie verwendet. Weil mir persönlich kämen da noch lustige Ideen in den Kopf, was man damit tun könnte, aber ich könnte mir vorstellen, dass man beim Komittee nicht soweit gegangen ist. Zum Beispiel fände ich sowas toll:</p>
<pre><code class="language-cpp">template&lt;typename ...ArgsT&gt;
void foo(ArgsT ...args)
{
  // ...

  ArgsT...
  {
    // Der Block wird für jeden Typ in ArgsT dupliziert.
    // Der aktuelle Typ wird über ArgsT angesprochen.
    // Quasi eine Codegenerierung.
  }

  // Das gleiche könnte man auch mit args machen.

  // ...
}
</code></pre>
<p>Aber wahrscheinlich denke ich da zu utopisch <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="🙂"
    /><br />
Aber würde halt schon mal genau wissen, auf was ich mich da genau einstellen kann.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1702709</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1702709</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Tue, 28 Apr 2009 15:24:47 GMT</pubDate></item><item><title><![CDATA[Reply to Varadic templates - Zusammenfassung? on Tue, 28 Apr 2009 15:36:44 GMT]]></title><description><![CDATA[<p>Kannst du rekursiv lösen.</p>
<p>Einfach eine funktion aufrufen mit &lt;T, ArgsT...&gt; als Template Params. Das unrollt sich zur compile time und hat selbe funktionalität wie du sie vorschlägst nur mit einheitlicherer syntax.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1702713</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1702713</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Tue, 28 Apr 2009 15:36:44 GMT</pubDate></item><item><title><![CDATA[Reply to Varadic templates - Zusammenfassung? on Tue, 28 Apr 2009 17:40:04 GMT]]></title><description><![CDATA[<p>Also du meinst sowas?</p>
<pre><code class="language-cpp">template&lt;typename T, typename ...CarryT&gt;
void foo(T const&amp; val, CarryT const&amp; ...carry)
{
  // ... Was getan werden muss ...

  foo(carry...); // &lt;- Geht das wirklich?
}

template&lt;typename ...ArgsT&gt;
void bar(ArgsT const&amp; ...args)
{
  // Init code

  foo(args...); // &lt;- Geht das wirklich?

  // Exit code
}

// Geht das auch mit diesem const&amp;?
</code></pre>
<p>Ich bekomme da immer Angst wegen des Stacks (rekursiver Aufruf), wobei das wohl eher völlig unbegründet ist. Habe traumatisch Erlebnisse mit dem Stack gemacht <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>
<p>Eine Zusammenfassung wäre aber trotzdem noch nett <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>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1702777</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1702777</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Tue, 28 Apr 2009 17:40:04 GMT</pubDate></item><item><title><![CDATA[Reply to Varadic templates - Zusammenfassung? on Tue, 28 Apr 2009 18:11:01 GMT]]></title><description><![CDATA[<p>Dravere schrieb:</p>
<blockquote>
<p>Also du meinst sowas?</p>
</blockquote>
<p>Ja - wobei ich zugeben muss keine Ahnung von der Syntax zu haben.<br />
foo(carry...);<br />
kann also kaese sein - aber die Idee ist korrekt.</p>
<blockquote>
<p>Ich bekomme da immer Angst wegen des Stacks (rekursiver Aufruf), wobei das wohl eher völlig unbegründet ist. Habe traumatisch Erlebnisse mit dem Stack gemacht <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>
</blockquote>
<p>Der Compiler unrollt dir das zur compiletime.</p>
<blockquote>
<p>Eine Zusammenfassung wäre aber trotzdem noch nett <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>
</blockquote>
<p>was willst du denn wissen?</p>
<p>variadic templates verhalten sich aehnlich wie eine liste in einer funktionalen sprache und alle operationen auf der liste passieren zur compiletime.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1702794</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1702794</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Tue, 28 Apr 2009 18:11:01 GMT</pubDate></item></channel></rss>