<?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[C++ Alternative zu va_list]]></title><description><![CDATA[<p>Hi<br />
da mir schon oft aufgefallen ist, dass bei manchen Funktionen als Argument einfach ... angegeben wird, hab ich mich ein bisschen darüber informiert.<br />
Nun hab ich rausgefunden, dass das ganze eine C Syntax ist, damit man dann in der Funktion beliebig viele Parameter auswerten kann und zwar über den abstrakten Datentyp va_list.<br />
Mich würde nun interessieren ob man das in C++ genauso macht oder ob es dazu eine Alternative gibt.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/177102/c-alternative-zu-va_list</link><generator>RSS for Node</generator><lastBuildDate>Sat, 19 Sep 2026 18:30:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/177102.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 28 Mar 2007 10:36:33 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to C++ Alternative zu va_list on Wed, 28 Mar 2007 10:36:33 GMT]]></title><description><![CDATA[<p>Hi<br />
da mir schon oft aufgefallen ist, dass bei manchen Funktionen als Argument einfach ... angegeben wird, hab ich mich ein bisschen darüber informiert.<br />
Nun hab ich rausgefunden, dass das ganze eine C Syntax ist, damit man dann in der Funktion beliebig viele Parameter auswerten kann und zwar über den abstrakten Datentyp va_list.<br />
Mich würde nun interessieren ob man das in C++ genauso macht oder ob es dazu eine Alternative gibt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1254458</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1254458</guid><dc:creator><![CDATA[Amateur]]></dc:creator><pubDate>Wed, 28 Mar 2007 10:36:33 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Alternative zu va_list on Wed, 28 Mar 2007 10:43:32 GMT]]></title><description><![CDATA[<p>Hem, also ich habs noch nie gebraucht. Handelt es sich um immer die gleichen Parametertypen? Wenn ja, könnte man ein vector nehmen:</p>
<pre><code class="language-cpp">void foo(std::vector&lt;int&gt; &amp;params)
{
   ...
}
</code></pre>
<p>Ist ja auch variabel die Anzahl der &quot;Parameter&quot;. Wenn es unterschiedliche Parametertypen sind, könnte man sowas wie boost::any nehmen, anstatt vector.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1254464</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1254464</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Wed, 28 Mar 2007 10:43:32 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Alternative zu va_list on Wed, 28 Mar 2007 10:50:59 GMT]]></title><description><![CDATA[<p>Viele (alle?) C-Sprachelemente (unter anderem auch va_list) sind auch unter C++ noch verwendbar - mit den aus C bekannten Problemen.</p>
<p>Solange du nur POD-Objekte übergibst (und genau weißt, was du da machst), kannst du problemlos mit Ellipsen und va_list arbeiten. Andernfalls bleiben noch Überladungen, Default-Parameter oder solche Ansätze wie Artchi gezeigt hat, um (begrenzt) beliebig viele Parameter übergeben zu können.<br />
(Aber ein echtes Äquivalent zu den variablen Argumentlisten hat C++ nicht anzubieten)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1254473</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1254473</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 28 Mar 2007 10:50:59 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Alternative zu va_list on Wed, 28 Mar 2007 12:36:55 GMT]]></title><description><![CDATA[<p>Mhh ok.<br />
Mir fiele da selbst noch was ein und zwar ein void-Pointer.<br />
Wenn ich das richtig verstanden habe kann man diesen ja auf alles mögliche zeigen lassen. Und da auch in &quot;Tricks of the Windows Game Programming Gurus&quot; der void-Pointer als Argument angegeben, aber leider bis zu der Stelle an der ich jetzt bin nie verwendet wird, bin ich nicht sicher ob dieser eine ähnliche Funktionalität bietet wie die Ellipse.<br />
Man müsste wahrscheinlich statt ganz vielen Parametern alle in ein Array oder in eine Klasse/ein struct packen und dieses dann übergeben.<br />
Was haltet ihr von so einem Konstrukt und ist es &quot;besser oder schlechter&quot; als die Ellipse? (CStoll schrieb von &quot;aus C bekannten Problemen&quot;)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1254549</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1254549</guid><dc:creator><![CDATA[Amateur]]></dc:creator><pubDate>Wed, 28 Mar 2007 12:36:55 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Alternative zu va_list on Wed, 28 Mar 2007 14:23:49 GMT]]></title><description><![CDATA[<p>Sieh dir mal die Implementierung von boost::bind an, da findest du die typsichere Alternative. Ist allerdings nicht sehr &quot;hübsch&quot; und/oder übersichtlich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1254681</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1254681</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Wed, 28 Mar 2007 14:23:49 GMT</pubDate></item></channel></rss>