<?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[Die Grosse des Container list]]></title><description><![CDATA[<p>Hi,</p>
<p>bitte um die Antwort auf allgemeine Frage: Wie gross dürfen die Container sein<br />
(oder wieviele Elemente können sie speichern)?</p>
<p>Und die zweite Frage: Ist die Methode void unique() für list&lt;&gt; zufährlasig, oder ist es der Algorithmus unique(..) besser?</p>
<p>Eigentlich habe ich den Containert list&lt;CBeleg&gt; (sizeof(CBeleg) = 128)<br />
verwendet und die Methode list&lt;CBeleg&gt; Obj.unique() entfernt nicht alle gleiche<br />
Objekte. sort() funktioniert noch.</p>
<p>Vermutlich wird der list mehrere Tausend Elemente haben.</p>
<p>Danke schön</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/253301/die-grosse-des-container-list</link><generator>RSS for Node</generator><lastBuildDate>Sun, 13 Sep 2026 23:18:14 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/253301.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 31 Oct 2009 13:14:35 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Die Grosse des Container list on Sat, 31 Oct 2009 13:14:35 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>bitte um die Antwort auf allgemeine Frage: Wie gross dürfen die Container sein<br />
(oder wieviele Elemente können sie speichern)?</p>
<p>Und die zweite Frage: Ist die Methode void unique() für list&lt;&gt; zufährlasig, oder ist es der Algorithmus unique(..) besser?</p>
<p>Eigentlich habe ich den Containert list&lt;CBeleg&gt; (sizeof(CBeleg) = 128)<br />
verwendet und die Methode list&lt;CBeleg&gt; Obj.unique() entfernt nicht alle gleiche<br />
Objekte. sort() funktioniert noch.</p>
<p>Vermutlich wird der list mehrere Tausend Elemente haben.</p>
<p>Danke schön</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1801145</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1801145</guid><dc:creator><![CDATA[rosic]]></dc:creator><pubDate>Sat, 31 Oct 2009 13:14:35 GMT</pubDate></item><item><title><![CDATA[Reply to Die Grosse des Container list on Sat, 31 Oct 2009 14:28:14 GMT]]></title><description><![CDATA[<p>die maximale größe findest du mit max_size() heraus:<br />
<a href="http://www.cplusplus.com/reference/stl/list/max_size/" rel="nofollow">http://www.cplusplus.com/reference/stl/list/max_size/</a></p>
<p>zu 2) wenn die Methode nciht zuverlässig wäre hätte sie wenig Sinn oder? Du kannst sie getrost benutzen.</p>
<p>rosic schrieb:</p>
<blockquote>
<p>Eigentlich habe ich den Containert list&lt;CBeleg&gt; (sizeof(CBeleg) = 128)<br />
verwendet und die Methode list&lt;CBeleg&gt; Obj.unique() entfernt nicht alle gleiche<br />
Objekte. sort() funktioniert noch.</p>
</blockquote>
<p>Dann wird der Grund ein anderer sein. Zeigst du uns etwas Code?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1801183</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1801183</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Sat, 31 Oct 2009 14:28:14 GMT</pubDate></item><item><title><![CDATA[Reply to Die Grosse des Container list on Sat, 31 Oct 2009 15:28:24 GMT]]></title><description><![CDATA[<p>Danke pumuckl (die Größe verursacht das Problem nicht)<br />
und deswegen etwas des Codes:</p>
<pre><code class="language-cpp">class CBeleg
{
private:
	string KontoNr;
	CDatum buchungDatum;
	CDatum valutaDatum;
	double dBetrag;
	string strBetrag;
	string buchungText;

public:
	CBeleg(){}
	void setBeleg(char* buffer);
	const CDatum&amp; get_buchungDatum();
	string get_buchungText();
	double anzeigen();
	void schreiben();
	friend bool operator &lt;(const CBeleg&amp; BObj1,
		const CBeleg&amp; BObj2);
	friend bool operator ==(const CBeleg&amp; BObj1,
		const CBeleg&amp; BObj2);

};
...
bool operator ==(const CBeleg&amp; BObj1,
		const CBeleg&amp; BObj2)
{
	if ((BObj1.buchungDatum == BObj2.buchungDatum)
		&amp;&amp; (BObj1.valutaDatum == BObj2.valutaDatum)
		&amp;&amp; (BObj1.KontoNr == BObj2.KontoNr)
		&amp;&amp; (BObj1.dBetrag == BObj2.dBetrag)
		&amp;&amp; (BObj1.buchungText == BObj2.buchungText))
		return true;
	else
		return false;

}

list&lt;CBeleg&gt; CBelegKonto::get_belege()
{
	return this-&gt;belege;
}
void CBelegKonto::set_belege(list&lt;CBeleg&gt;&amp; belege)
{
	this-&gt;belege = belege;
}
...
switch(Home.Y) 
		{
		case MENU_START_LINE:
			{
			neuDateiLesen();
			alleBelege.set_belege(setAlleBelege());
			list&lt;CBeleg&gt; belege = alleBelege.get_belege();
			belege.sort();
			belege.unique();
			alleBelege.set_belege(belege);
			alleBelege_anzeigen(alleBelege);
			centraleD_neuWrite(alleBelege);			
			break;
			}
</code></pre>
<p>Ich hab jetzt den Fehler (Ueberweisung != Überweisung) und vorher waren mehrere<br />
Anweisungen in case: ohne {}</p>
<p>Trotzdem ist jeder Kommentar des Codes willkommen<br />
Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1801208</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1801208</guid><dc:creator><![CDATA[rosic]]></dc:creator><pubDate>Sat, 31 Oct 2009 15:28:24 GMT</pubDate></item><item><title><![CDATA[Reply to Die Grosse des Container list on Sat, 31 Oct 2009 15:35:25 GMT]]></title><description><![CDATA[<p>Bite noch eine Frage:</p>
<p>ich habe kein</p>
<pre><code class="language-cpp">operator=() für
this-&gt;belege = belege;
</code></pre>
<p>und trotzdem kein Fehler (????)</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1801215</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1801215</guid><dc:creator><![CDATA[rosic]]></dc:creator><pubDate>Sat, 31 Oct 2009 15:35:25 GMT</pubDate></item><item><title><![CDATA[Reply to Die Grosse des Container list on Sat, 31 Oct 2009 15:42:19 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">double dBetrag; 
    string strBetrag;
</code></pre>
<p>nimm nur <code>double Betrag;</code> und wandel es halt um, wenn du es als string brauchst<br />
brauchst du es genauer als cent? wenn nicht, würde ich dir raten: nimm int oder long oder so und gib die cent an.</p>
<pre><code class="language-cpp">CBeleg(){}
</code></pre>
<p>das ist unnötig - wäre nur nötig, wenn du noch nen anderen konstruktor definiert hättest (was ich übrigens machen würde)</p>
<pre><code class="language-cpp">void setBeleg(char* buffer);
</code></pre>
<p>naja - ich würde nicht verstehen, was hier passiert<br />
<code>char* buffer</code> sieht auch so aus, als ob nen const fehlen würde</p>
<pre><code class="language-cpp">const CDatum&amp; get_buchungDatum();
	string get_buchungText();
</code></pre>
<p>wieso denkst du beim datum daran, es per const ref zu übergeben und beim buchungstext nicht? Oo<br />
und: &quot;const correctness&quot;</p>
<pre><code class="language-cpp">double anzeigen();
	void schreiben();
</code></pre>
<p>was?</p>
<pre><code class="language-cpp">public:
	friend bool operator &lt;(const CBeleg&amp; BObj1,
		const CBeleg&amp; BObj2);
	friend bool operator ==(const CBeleg&amp; BObj1,
		const CBeleg&amp; BObj2);

};
</code></pre>
<p>hm? 1. wieso friend<br />
2. wieso machst du op== nicht über <code>!(lhs&lt;rhs) &amp;&amp; !(rhs&lt;lhs)</code> ?<br />
3. wieso brauchst du nen op&lt; ? wie soll man belege ordnen können? nach datum? nach betrag? nach ktonr? würde ich in nen comparer-struct auslagern glaub ich</p>
<pre><code class="language-cpp">bool operator ==(const CBeleg&amp; BObj1,
		const CBeleg&amp; BObj2)
{
	if ((BObj1.buchungDatum == BObj2.buchungDatum)
		&amp;&amp; (BObj1.valutaDatum == BObj2.valutaDatum)
		&amp;&amp; (BObj1.KontoNr == BObj2.KontoNr)
		&amp;&amp; (BObj1.dBetrag == BObj2.dBetrag)
		&amp;&amp; (BObj1.buchungText == BObj2.buchungText))
		return true;
	else
		return false;

}
</code></pre>
<p>-&gt;</p>
<pre><code class="language-cpp">bool foo()
{
 if(true)
  return true;
 else
  return false;
}
</code></pre>
<p>fällt dir was auf? ^^</p>
<pre><code class="language-cpp">return this-&gt;belege;
</code></pre>
<p>wieso schreibst du hier das this mit?</p>
<blockquote>
<p>Trotzdem ist jeder Kommentar des Codes willkommen</p>
</blockquote>
<p>ich hoffe, es war nicht so viel, dass du die lust verlierst^^<br />
kannst dich ja wieder melden, wenn du das so weit gemacht hast und dann kann man ja noch ma drüber gucken und auch noch den rest bemängeln ;o)</p>
<p>bb</p>
<p>PS: kopierkonstruktor und zuweisungsoperator werden vom compiler automatisch generiert.<br />
ist hier auch vollkommen ausreichend, was der tut^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1801223</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1801223</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sat, 31 Oct 2009 15:42:19 GMT</pubDate></item><item><title><![CDATA[Reply to Die Grosse des Container list on Sat, 31 Oct 2009 15:58:16 GMT]]></title><description><![CDATA[<p>Danke unskilled<br />
(der Übergang von COBOL(Lebensversicherung) zu OOP braucht noch<br />
die Arbeit an sich)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1801232</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1801232</guid><dc:creator><![CDATA[rosic]]></dc:creator><pubDate>Sat, 31 Oct 2009 15:58:16 GMT</pubDate></item></channel></rss>