<?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[Kopieren von std::string]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>was macht er denn bei diesem Code intern?</p>
<pre><code class="language-cpp">std::pair&lt;std::string, std::string&gt; = std:pair&lt;std::string(&quot;1&quot;), std::string(&quot;2&quot;)&gt;;
</code></pre>
<p>Wird hier ein string erzeugt und<br />
anschließend der Inhalt sofort wieder in einen neuen String kopiert<br />
oder wird das vom Kompiler optimiert, dass er den String gleich<br />
in dem pair erzeugt?</p>
<p>Verändert ein const evtl etwas?</p>
<p>und noch ne Frage:</p>
<p>Kann ich einem String nachträglich eine Zeichenkette char*<br />
zuweisen?</p>
<p>Gruß,<br />
*Cpp-Anfänger*</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/159658/kopieren-von-std-string</link><generator>RSS for Node</generator><lastBuildDate>Thu, 10 Sep 2026 16:04:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/159658.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 17 Sep 2006 17:20:46 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Kopieren von std::string on Sun, 17 Sep 2006 17:25:54 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>was macht er denn bei diesem Code intern?</p>
<pre><code class="language-cpp">std::pair&lt;std::string, std::string&gt; = std:pair&lt;std::string(&quot;1&quot;), std::string(&quot;2&quot;)&gt;;
</code></pre>
<p>Wird hier ein string erzeugt und<br />
anschließend der Inhalt sofort wieder in einen neuen String kopiert<br />
oder wird das vom Kompiler optimiert, dass er den String gleich<br />
in dem pair erzeugt?</p>
<p>Verändert ein const evtl etwas?</p>
<p>und noch ne Frage:</p>
<p>Kann ich einem String nachträglich eine Zeichenkette char*<br />
zuweisen?</p>
<p>Gruß,<br />
*Cpp-Anfänger*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1139116</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1139116</guid><dc:creator><![CDATA[*Cpp-Anfänger* 0]]></dc:creator><pubDate>Sun, 17 Sep 2006 17:25:54 GMT</pubDate></item><item><title><![CDATA[Reply to Kopieren von std::string on Sun, 17 Sep 2006 17:38:36 GMT]]></title><description><![CDATA[<p>Du kannst make_pair verwenden, dann sieht das viel übersichtlicher aus.<br />
Ansonsten für das char*:</p>
<p>std::string xyz;<br />
xyz = &quot;xyz&quot;;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1139128</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1139128</guid><dc:creator><![CDATA[Thomas ** 0]]></dc:creator><pubDate>Sun, 17 Sep 2006 17:38:36 GMT</pubDate></item><item><title><![CDATA[Reply to Kopieren von std::string on Sun, 17 Sep 2006 17:48:56 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">std::string xyz;
xyz = &quot;xyz&quot;;
</code></pre>
<p>Kopiert das nicht wieder den Speicher?</p>
<p>Ich dachte an:</p>
<pre><code class="language-cpp">char* v = (char*)malloc(1024);
// schreibe in std::string
// Ändere Buchstaben in char*
// Gib geänderten String aus
// Es soll also der gleiche Speicherbereich verwendet werden
</code></pre>
<p>Gruß,<br />
*Cpp-Anfänger*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1139132</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1139132</guid><dc:creator><![CDATA[*Cpp-Anfänger* 0]]></dc:creator><pubDate>Sun, 17 Sep 2006 17:48:56 GMT</pubDate></item><item><title><![CDATA[Reply to Kopieren von std::string on Sun, 17 Sep 2006 21:15:08 GMT]]></title><description><![CDATA[<p>Ich verstehe dich zaw nicht richtig, aber der std::string hat intern einen eigenen zeichenbuffer, welcher dann bei Zuweisung (operator==, (Copy-)Konstruktor etc.) bschrieben wird. Du kannst also nicht sagen, dass das geht:</p>
<pre><code class="language-cpp">char ac[]=&quot;1337&quot;;
string s=ac;
s[0]='2';
int i=strcmp(ac, &quot;1337&quot;);
</code></pre>
<p>ac wird immer noch &quot;1337&quot; sein, obwohl s &quot;2337&quot; ist.</p>
<p>Das geht dann natürlich auch nicht:</p>
<pre><code class="language-cpp">char ac[]=&quot;1337&quot;;
string s=ac;
ac[0]='2';
bool b=(s==&quot;1337&quot;);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1139249</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1139249</guid><dc:creator><![CDATA[Schildkroete]]></dc:creator><pubDate>Sun, 17 Sep 2006 21:15:08 GMT</pubDate></item><item><title><![CDATA[Reply to Kopieren von std::string on Mon, 18 Sep 2006 22:29:38 GMT]]></title><description><![CDATA[<p>Hallo Trundle0x7e,</p>
<p>du hast mich genau richtig verstanden.<br />
Ich wollte nur wissen, ob ich diesen internen Puffer durch<br />
meinen Speicherbereich ersetzen kann...<br />
Reines Interesse wegen Performance.<br />
Das hätte halt das kopieren von meinem Speicher in den<br />
den Puffer gespart.</p>
<p>thx</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1140056</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1140056</guid><dc:creator><![CDATA[*Cpp-Anfänger* 0]]></dc:creator><pubDate>Mon, 18 Sep 2006 22:29:38 GMT</pubDate></item></channel></rss>