<?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[string erzeugen aus übergebenen Parametern]]></title><description><![CDATA[<p>Hallo Leute...</p>
<p>sind folgende beiden Code-Zeilen identisch?</p>
<pre><code>string param = string(argv[1]); 
//Alternative
string param (argv[1]);
</code></pre>
<p>Ich kann keinen Unterschied erkennen. Gibt es einen?</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/264308/string-erzeugen-aus-übergebenen-parametern</link><generator>RSS for Node</generator><lastBuildDate>Sat, 05 Sep 2026 01:17:06 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/264308.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 06 Apr 2010 08:08:45 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to string erzeugen aus übergebenen Parametern on Tue, 06 Apr 2010 08:08:45 GMT]]></title><description><![CDATA[<p>Hallo Leute...</p>
<p>sind folgende beiden Code-Zeilen identisch?</p>
<pre><code>string param = string(argv[1]); 
//Alternative
string param (argv[1]);
</code></pre>
<p>Ich kann keinen Unterschied erkennen. Gibt es einen?</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1878113</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1878113</guid><dc:creator><![CDATA[GaDgeT]]></dc:creator><pubDate>Tue, 06 Apr 2010 08:08:45 GMT</pubDate></item><item><title><![CDATA[Reply to string erzeugen aus übergebenen Parametern on Tue, 06 Apr 2010 08:12:57 GMT]]></title><description><![CDATA[<p>Keinen praktischen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1878114</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1878114</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Tue, 06 Apr 2010 08:12:57 GMT</pubDate></item><item><title><![CDATA[Reply to string erzeugen aus übergebenen Parametern on Tue, 06 Apr 2010 08:15:15 GMT]]></title><description><![CDATA[<p>Beim ersten wird zuerst der default-Constructor aufgerufen, dann die Zuweisung ausgeführt. Bei der Alternative wird das Objekt direkt mit dem Wert initialisiert, was effizienter ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1878115</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1878115</guid><dc:creator><![CDATA[__Stefan__]]></dc:creator><pubDate>Tue, 06 Apr 2010 08:15:15 GMT</pubDate></item><item><title><![CDATA[Reply to string erzeugen aus übergebenen Parametern on Tue, 06 Apr 2010 08:24:08 GMT]]></title><description><![CDATA[<p><strong>Stefan</strong> schrieb:</p>
<blockquote>
<p>was effizienter ist.</p>
</blockquote>
<p>wobei das natürlich differenziert betrachtet werden muss. Entweder macht der Compiler aus Version 1 von selbst Version 2, spart sich also die Zuweisung, oder die bessere Effizienz ist allenfalls messbar, aber nicht spürbar.</p>
<p>Kurzum: mach, was dir besser gefällt. Du wirst so schnell nicht in die Situation kommen, wo das eine besser als das andere ist</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1878123</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1878123</guid><dc:creator><![CDATA[zwutz]]></dc:creator><pubDate>Tue, 06 Apr 2010 08:24:08 GMT</pubDate></item><item><title><![CDATA[Reply to string erzeugen aus übergebenen Parametern on Tue, 06 Apr 2010 08:24:38 GMT]]></title><description><![CDATA[<p><strong>Stefan</strong> schrieb:</p>
<blockquote>
<p>Beim ersten wird zuerst der default-Constructor aufgerufen, dann die Zuweisung ausgeführt. Bei der Alternative wird das Objekt direkt mit dem Wert initialisiert, was effizienter ist.</p>
</blockquote>
<p>Falsch.<br />
Beim ersten wird zuerst ein Temporäres string-Objekt mit dem const-char*-Ctor erzeugt (der Ausdruck rechts vom Gleichheitszeichen), danach wird das benannte sting-Objekt (param) mit diesem temporären objekt per Copy-Ctor initialisiert. Ein default-Ctor ist nicht im Spiel, der op= auch nicht. Das ist eine andere Schreibweise für</p>
<pre><code class="language-cpp">string param(string(argv[1]));
</code></pre>
<p>Allerdings ist es laut Standard dem Compiler freigestellt, den Aufruf des Copy-Ctors wegzuoptimieren, in dem Fall sind beide Varianten identisch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1878124</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1878124</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 06 Apr 2010 08:24:38 GMT</pubDate></item><item><title><![CDATA[Reply to string erzeugen aus übergebenen Parametern on Tue, 06 Apr 2010 10:27:37 GMT]]></title><description><![CDATA[<p>pumuckl schrieb:</p>
<blockquote>
<p>Allerdings ist es laut Standard dem Compiler freigestellt, den Aufruf des Copy-Ctors wegzuoptimieren, in dem Fall sind beide Varianten identisch.</p>
</blockquote>
<p>Sofern keine Nebeneffekte auftreten. Der Konstruktor/Copy-Konstruktor von string könnte ja theoretisch mitloggen, wie viele Instanzen erzeugt wurden. Dann könnte sich das Programm anderst verhalten je nachdem, ob optimiert wurde oder nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1878200</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1878200</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Tue, 06 Apr 2010 10:27:37 GMT</pubDate></item></channel></rss>