<?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[Wert aendert sich ohne Zugriff?]]></title><description><![CDATA[<p>Hallo.<br />
Folgendes Problem:</p>
<pre><code>[...]
cout &lt;&lt; erg &lt;&lt; &quot;\n&quot;;
while(i&lt;hgenauigkeit)
{
	cout &lt;&lt; erg &lt;&lt; &quot;\n&quot;;
[...]
</code></pre>
<p>Hierbei gibt das erste cout etwas anderes aus als das zweite!<br />
i und hgenauigkeit sind vom Typ int.<br />
erg ist vom Typ rol (eine von mir geschriebene Klasse fuer grosse Zahlen)<br />
Hier ist der entsprechende Operator&lt;&lt;:</p>
<pre><code>ostream&amp; operator&lt;&lt;(ostream&amp; os, rol&amp; b)
{
	int bsize = b.wert.size();
	int wo = 0;
	while(wo!=bsize)
	{
		os &lt;&lt; b.wert[wo];
		wo++;
	}
	return(os);
}
</code></pre>
<p>wert ist wo die Zahl gespeichert wird, ein vector&lt;char&gt;.</p>
<p>Eigentlich sollte ja beides Mal das selbe ausgegeben werden, allerdings wird einmal 2 (also richtig) und einmal +1033333333 ausgegeben.<br />
Woran koennte das liegen?</p>
<p>Vielen Dank schonmal im voraus,<br />
etlam</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/202581/wert-aendert-sich-ohne-zugriff</link><generator>RSS for Node</generator><lastBuildDate>Tue, 06 Oct 2026 18:06:05 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/202581.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 13 Jan 2008 10:05:46 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wert aendert sich ohne Zugriff? on Sun, 13 Jan 2008 10:05:46 GMT]]></title><description><![CDATA[<p>Hallo.<br />
Folgendes Problem:</p>
<pre><code>[...]
cout &lt;&lt; erg &lt;&lt; &quot;\n&quot;;
while(i&lt;hgenauigkeit)
{
	cout &lt;&lt; erg &lt;&lt; &quot;\n&quot;;
[...]
</code></pre>
<p>Hierbei gibt das erste cout etwas anderes aus als das zweite!<br />
i und hgenauigkeit sind vom Typ int.<br />
erg ist vom Typ rol (eine von mir geschriebene Klasse fuer grosse Zahlen)<br />
Hier ist der entsprechende Operator&lt;&lt;:</p>
<pre><code>ostream&amp; operator&lt;&lt;(ostream&amp; os, rol&amp; b)
{
	int bsize = b.wert.size();
	int wo = 0;
	while(wo!=bsize)
	{
		os &lt;&lt; b.wert[wo];
		wo++;
	}
	return(os);
}
</code></pre>
<p>wert ist wo die Zahl gespeichert wird, ein vector&lt;char&gt;.</p>
<p>Eigentlich sollte ja beides Mal das selbe ausgegeben werden, allerdings wird einmal 2 (also richtig) und einmal +1033333333 ausgegeben.<br />
Woran koennte das liegen?</p>
<p>Vielen Dank schonmal im voraus,<br />
etlam</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1435766</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1435766</guid><dc:creator><![CDATA[etlam]]></dc:creator><pubDate>Sun, 13 Jan 2008 10:05:46 GMT</pubDate></item><item><title><![CDATA[Reply to Wert aendert sich ohne Zugriff? on Sun, 13 Jan 2008 11:34:16 GMT]]></title><description><![CDATA[<p>Probier doch mal, ob hier auch verschiedene Ausgaben kommen:</p>
<pre><code class="language-cpp">cout &lt;&lt; erg &lt;&lt; &quot;\n&quot;;
cout &lt;&lt; erg &lt;&lt; &quot;\n&quot;;
</code></pre>
<p>Und: <code>ostream&amp; operator&lt;&lt;(ostream&amp; os, rol&amp; b)</code> sollte lieber als zweiten Parameter eine konstante Referenz bekommen <code>ostream&amp; operator&lt;&lt;(ostream&amp; os, const rol&amp; b)</code> , so kannst du sichergehen, dass das Objekt auch nicht bei der Ausgabe verändert wird.</p>
<p>edit: Kann's nicht auch sein, dass gar nicht erst in die while-Schleife eingetreten wird weil die Bedingung nicht erfüllt wird und die Ausgabe erst ein paar Zeilen später kommt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1435808</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1435808</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Sun, 13 Jan 2008 11:34:16 GMT</pubDate></item><item><title><![CDATA[Reply to Wert aendert sich ohne Zugriff? on Sun, 13 Jan 2008 11:42:15 GMT]]></title><description><![CDATA[<p>Vielen Dank für deine Antwort!<br />
Einfach so hintereinander bevor in die Schleife eingetreten wird kommt immer das selbe.<br />
Beim eintritt in die Schleife verändert sich das dann auf einmal.<br />
Ich habe jetzt ostream&amp; operator&lt;&lt;(ostream&amp; os, const rol&amp; b) gemacht, allerdings hat das nichts sn dem Problem geändert.<br />
Es wird in die Schleife eingetreten, die Ausgabe kommt sicher von der ersten Zeile inerhalb der Schleife.</p>
<p>Vielen Dank schonmal im voraus,<br />
etlam</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1435814</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1435814</guid><dc:creator><![CDATA[etlam]]></dc:creator><pubDate>Sun, 13 Jan 2008 11:42:15 GMT</pubDate></item><item><title><![CDATA[Reply to Wert aendert sich ohne Zugriff? on Sun, 13 Jan 2008 11:49:47 GMT]]></title><description><![CDATA[<p>Hm.. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":-/"
      alt="😕"
    /></p>
<p>Was spuckt dein Programm denn hier aus?:</p>
<pre><code class="language-cpp">cout &lt;&lt; &quot;Vor Schleife: &quot; &lt;&lt; erg &lt;&lt; endl;
while ( i &lt; hgenauigkeit )
{
    cout &lt;&lt; &quot;in Schleife: &quot; &lt;&lt; erg &lt;&lt; endl;
    break;
    //...
}
</code></pre>
<p>Und arbeitest du zufällig mit Threads?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1435822</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1435822</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Sun, 13 Jan 2008 11:49:47 GMT</pubDate></item><item><title><![CDATA[Reply to Wert aendert sich ohne Zugriff? on Sun, 13 Jan 2008 13:27:05 GMT]]></title><description><![CDATA[<p>Vielen Dank, jetzt habe ich das Problem behoben.<br />
Irgenwie kam der falsche Wert im zweiten Schleifendurchgang, obwohl mit dem Wert kaum etwas gemacht wird in der Schleife.<br />
Ich hatte deshalb auch nicht daran gedacht, weil der Fehler aus einer Funktion kam, die eigentlich keinen solchen Fehler macht, allerdings hatte ich diese umbenannt und eine andere Funktion so genannt...</p>
<p>Vielen dank,<br />
etlam</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1435872</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1435872</guid><dc:creator><![CDATA[etlam]]></dc:creator><pubDate>Sun, 13 Jan 2008 13:27:05 GMT</pubDate></item></channel></rss>