<?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[struct mit strings, spätere zuweisung schlägt fehl (Speicherproblem)]]></title><description><![CDATA[<p>ok, ich hab folgendes:</p>
<pre><code class="language-cpp">struct MyStruct
{
int i;
std::string s;
}
</code></pre>
<p>dann</p>
<pre><code class="language-cpp">MyStruct MS;
MS.i = 5;
MS.s = &quot;hello&quot;;
</code></pre>
<p>jetzt wird's kritisch:</p>
<pre><code class="language-cpp">MyStruct* pMS = new MyStruct;

pMS = MS;
</code></pre>
<p>woher soll er in der letzten Zeile wissen, wie groß der Speicherbereich ist? Der string ist ja dynamisch......</p>
<p>Grüße<br />
P</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/238704/struct-mit-strings-spätere-zuweisung-schlägt-fehl-speicherproblem</link><generator>RSS for Node</generator><lastBuildDate>Tue, 22 Sep 2026 21:25:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/238704.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 14 Apr 2009 15:00:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to struct mit strings, spätere zuweisung schlägt fehl (Speicherproblem) on Tue, 14 Apr 2009 15:19:10 GMT]]></title><description><![CDATA[<p>ok, ich hab folgendes:</p>
<pre><code class="language-cpp">struct MyStruct
{
int i;
std::string s;
}
</code></pre>
<p>dann</p>
<pre><code class="language-cpp">MyStruct MS;
MS.i = 5;
MS.s = &quot;hello&quot;;
</code></pre>
<p>jetzt wird's kritisch:</p>
<pre><code class="language-cpp">MyStruct* pMS = new MyStruct;

pMS = MS;
</code></pre>
<p>woher soll er in der letzten Zeile wissen, wie groß der Speicherbereich ist? Der string ist ja dynamisch......</p>
<p>Grüße<br />
P</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1695805</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1695805</guid><dc:creator><![CDATA[ANGs_Pino]]></dc:creator><pubDate>Tue, 14 Apr 2009 15:19:10 GMT</pubDate></item><item><title><![CDATA[Reply to struct mit strings, spätere zuweisung schlägt fehl (Speicherproblem) on Tue, 14 Apr 2009 15:52:26 GMT]]></title><description><![CDATA[<blockquote>
<p>struct mit strings, spätere zuweisung schlägt fehl (Speicherproblem)</p>
</blockquote>
<p>Die schlägt nicht fehl. Die kompiliert nicht!<br />
Simon</p>
<p>Edit:<br />
Abgesehen davon:</p>
<blockquote>
<p>woher soll er in der letzten Zeile wissen, wie groß der Speicherbereich ist? Der string ist ja dynamisch......</p>
</blockquote>
<p>Der std::string weiss wie gross er ist. Und der impl. Copy Ctor und Assignment Op.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1695835</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1695835</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Tue, 14 Apr 2009 15:52:26 GMT</pubDate></item><item><title><![CDATA[Reply to struct mit strings, spätere zuweisung schlägt fehl (Speicherproblem) on Tue, 14 Apr 2009 16:11:15 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">*pMS = MS;
</code></pre>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1695842</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1695842</guid><dc:creator><![CDATA[die lösung]]></dc:creator><pubDate>Tue, 14 Apr 2009 16:11:15 GMT</pubDate></item><item><title><![CDATA[Reply to struct mit strings, spätere zuweisung schlägt fehl (Speicherproblem) on Wed, 15 Apr 2009 06:39:32 GMT]]></title><description><![CDATA[<p>Jupp, da hat 'n * gefehlt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--smiling_face_with_sunglasses"
      title="8)"
      alt="😎"
    /></p>
<p>Aber wie ist's jetzt mit dem Speicher? Kann der Compiler zur Laufzeit den Speicher erweitern, wenn das Struct mehr Platz braucht als mit &quot;new&quot; allokiert?</p>
<p>P</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1696072</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1696072</guid><dc:creator><![CDATA[ANGs_Pino]]></dc:creator><pubDate>Wed, 15 Apr 2009 06:39:32 GMT</pubDate></item><item><title><![CDATA[Reply to struct mit strings, spätere zuweisung schlägt fehl (Speicherproblem) on Wed, 15 Apr 2009 06:48:39 GMT]]></title><description><![CDATA[<p>ANGs_Pino schrieb:</p>
<blockquote>
<p>Aber wie ist's jetzt mit dem Speicher? Kann der Compiler zur Laufzeit den Speicher erweitern, wenn das Struct mehr Platz braucht als mit &quot;new&quot; allokiert?</p>
</blockquote>
<p>Ja. Der vom Compiler automatisch generierte Zuweisungsoperator von MyStruct ruft seinerseits den Zuweisungsoperator von std::string auf. Und der kümmert sich um den Rest.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1696079</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1696079</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Wed, 15 Apr 2009 06:48:39 GMT</pubDate></item><item><title><![CDATA[Reply to struct mit strings, spätere zuweisung schlägt fehl (Speicherproblem) on Wed, 15 Apr 2009 07:07:32 GMT]]></title><description><![CDATA[<p>ANGs_Pino schrieb:</p>
<blockquote>
<p>Kann der Compiler zur Laufzeit den Speicher erweitern, wenn das Struct mehr Platz braucht als mit &quot;new&quot; allokiert?</p>
</blockquote>
<p>Der Compiler braucht da nichts zu erweitern, da das struct immer gleich viel Platz braucht, nämlich sizeof(int) + sizeof(std::string) + ggf. ein paar bytes padding. sizeof(string) ist eine Konstante - der dynamisch allokierte Speicher für die Zeichen wird intern vom string selber verwaltet und gehört nicht mit zum struct.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1696083</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1696083</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 15 Apr 2009 07:07:32 GMT</pubDate></item></channel></rss>