<?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[Speicherverlust mit stringstream]]></title><description><![CDATA[<p>Hallo liebe Leute, ich versuche seit einer Woche einen von stringstream belegten Speicherplatz freizugeben und es klapp aber nicht und ich bin sogar schon verzweifelt. Vielleicht kann mir jemand helfen, ich habe wirklich alles vesucht.<br />
mein Code sieht ungefähr so aus</p>
<p>double ** h;<br />
..............<br />
stringstream os;<br />
................<br />
for (int i=0; i&lt;=239; i++)<br />
os.write((char*)h[i], 40*sizeof(double));<br />
.................</p>
<p>Nach der Schleife vergrössert sich der Speicherplatz und auch die Freigabe von h bringt nichts.</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/174183/speicherverlust-mit-stringstream</link><generator>RSS for Node</generator><lastBuildDate>Fri, 18 Sep 2026 13:56:12 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/174183.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 23 Feb 2007 18:18:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Speicherverlust mit stringstream on Fri, 23 Feb 2007 18:18:24 GMT]]></title><description><![CDATA[<p>Hallo liebe Leute, ich versuche seit einer Woche einen von stringstream belegten Speicherplatz freizugeben und es klapp aber nicht und ich bin sogar schon verzweifelt. Vielleicht kann mir jemand helfen, ich habe wirklich alles vesucht.<br />
mein Code sieht ungefähr so aus</p>
<p>double ** h;<br />
..............<br />
stringstream os;<br />
................<br />
for (int i=0; i&lt;=239; i++)<br />
os.write((char*)h[i], 40*sizeof(double));<br />
.................</p>
<p>Nach der Schleife vergrössert sich der Speicherplatz und auch die Freigabe von h bringt nichts.</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1234262</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1234262</guid><dc:creator><![CDATA[ketans]]></dc:creator><pubDate>Fri, 23 Feb 2007 18:18:24 GMT</pubDate></item><item><title><![CDATA[Reply to Speicherverlust mit stringstream on Fri, 23 Feb 2007 23:06:51 GMT]]></title><description><![CDATA[<p>ketans schrieb:</p>
<blockquote>
<p>...einen von stringstream belegten Speicherplatz freizugeben ...</p>
</blockquote>
<p>Warum ?</p>
<p>ketans schrieb:</p>
<blockquote>
<p>...</p>
<pre><code class="language-cpp">double ** h;
....
stringstream os;
................
for (int i=0; i&lt;=239; i++)
    os.write((char*)h[i], 40*sizeof(double));
.................
</code></pre>
<p>Nach der Schleife vergrössert sich der Speicherplatz und auch die Freigabe von h bringt nichts.</p>
<p>Danke</p>
</blockquote>
<p>Sorry, aber da ist eine Menge &quot;Fragwürdiges&quot; drin:<br />
1.) Wenn Du die Ausgabe so machst, wie es bei den std-streams gedacht ist (mit operator&lt;&lt;(), kannst Du Dir den üblen (und vermutlich schwer falschen) Cast sparen ... und hast gleichzeitig sichereren Code.</p>
<pre><code class="language-cpp">for (int i=0; i&lt;=239; i++)
    for(int j=0; j&lt;40; ++j) 
´       os &lt;&lt; h[i][j];
</code></pre>
<p>2.) Wenn Du Werte in einen Stream kpoierst, wird er größer ... egal, wie oft Du Deine &quot;Kopiervorlage&quot; (hier also Speicherbereiche, auf die h zeigt) freigibst. Ist etwa so, also wolltest Du den Inhalt eines Buches löschen, indem Du die Schreibmaschine verbrennst, auf der es geschrieben wurde.<br />
Der Speicherverwaltung von Streams braucht man nicht auf die Sprünge zu helfen, das machen die schon gut allein ... aber solange sie ihre &quot;Ladung nicht losgeworden&quot; sind (sprich: Der Inhalt ausgelesen wurde), behalten sie ihn.<br />
Allerdings kann man ihn mit flush() dazu bringen, es &quot;jetzt&quot; zu tun.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1234406</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1234406</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Fri, 23 Feb 2007 23:06:51 GMT</pubDate></item></channel></rss>