<?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[Kurzfrage: schneller stl container direkt zu befüllen oder über objekt?]]></title><description><![CDATA[<p>Hallo,<br />
ich habe eine Klasse (z.B C1).<br />
dort will ich einen stl-container befüllen (sehr oft hintereinander).<br />
Nun mache ich mit diesem container viele sachen und überlege eine eigene klasse dafür zu schreiben und dann aus C1 auch den container dann eben über ein Objekt der neuen klasse zu befüllen etc...<br />
Frage: Macht das von der geschwindigkeit unterschiede? Ich will möglichst zeitperformant bleiben...</p>
<p>Sinn wäre eigentlich nur Übersicht und falls wo anders noch verwendung dann einfachere Verwendung der neuen Klasse...</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/162169/kurzfrage-schneller-stl-container-direkt-zu-befüllen-oder-über-objekt</link><generator>RSS for Node</generator><lastBuildDate>Sat, 12 Sep 2026 04:01:58 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/162169.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 15 Oct 2006 21:44:49 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Kurzfrage: schneller stl container direkt zu befüllen oder über objekt? on Sun, 15 Oct 2006 21:44:49 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich habe eine Klasse (z.B C1).<br />
dort will ich einen stl-container befüllen (sehr oft hintereinander).<br />
Nun mache ich mit diesem container viele sachen und überlege eine eigene klasse dafür zu schreiben und dann aus C1 auch den container dann eben über ein Objekt der neuen klasse zu befüllen etc...<br />
Frage: Macht das von der geschwindigkeit unterschiede? Ich will möglichst zeitperformant bleiben...</p>
<p>Sinn wäre eigentlich nur Übersicht und falls wo anders noch verwendung dann einfachere Verwendung der neuen Klasse...</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1155326</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1155326</guid><dc:creator><![CDATA[Mati]]></dc:creator><pubDate>Sun, 15 Oct 2006 21:44:49 GMT</pubDate></item><item><title><![CDATA[Reply to Kurzfrage: schneller stl container direkt zu befüllen oder über objekt? on Sun, 15 Oct 2006 23:26:49 GMT]]></title><description><![CDATA[<p>würde deine klasse performance-bringende eigenschaften haben, die der stl-container nicht hat?<br />
es wäre zum beispiel so, daß wenn deine container arrays wären, die immer 5 elemente hätten, daß dann std::vector mit seinem new und delete innendrin dagegen echt alt aussehen würde.<br />
andererseits, wenn du arrays hättest, die auch wachsen können sollen, wäre std::vector eine prima wahl. da besteht eigentlich keine realistische chance, das selber schneller hinzukriegen.</p>
<blockquote>
<p>Sinn wäre eigentlich nur Übersicht und falls wo anders noch verwendung dann einfachere Verwendung der neuen Klasse...</p>
</blockquote>
<p>äh, übersicht ist was ganz tolles. wenns der übersicht dient, dann mach es. da sind performance-überlegungen in c++ irrelevant, weil es doch immer wieder einen trick gibt, die übersichtliche version genauso perfomant zu bauen, wie die andere.</p>
<p>denk auch dran, daß man meistens ungefährt so kombiniert (falls du nicht eh schon genau das vorhattest):</p>
<pre><code class="language-cpp">class Weinliste{
   std::map&lt;Wein,int&gt; bestand;
public:
   void aufnehmen(Wein wein,int anzahl){
      assert(anzahl&gt;0);
      weine[wein]+=anzahl;
   }
   double berechneWarenbestand(){
      ...
   }
   ...
};
</code></pre>
<p>also man baut sich ne klasse, die innendrin den standard-container benutzut und eigentlich gar nix anderes ist. nur will man in seiner anwendung lieber von Weinliste als von std::map&lt;Wein,int&gt; reden. außerdem will man ne aufnehmen-methode haben, statt auf dem container selber arbeiten zu müssen. also eigentlich nur schnickschnack, unwichtige vereinfachung (für viele programmierer sogar verkomplizierung!), die nix zu bringen scheint. bei größeren projekten wirds aber dann immer praktischer, wenn man sich damit eine problembezogene sprache schafft und dazwischenschaltet. außerdem erlaubt es, kleine nettigkeiten wie das assert einzubauen und sowas wie berechneWarenbestand(). außerdem optimiert der compiler diese dummen wrapper dann weg und du hast in c++ null zusatzkosten für abstraktion zu zahlen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1155344</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1155344</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sun, 15 Oct 2006 23:26:49 GMT</pubDate></item><item><title><![CDATA[Reply to Kurzfrage: schneller stl container direkt zu befüllen oder über objekt? on Mon, 16 Oct 2006 01:02:29 GMT]]></title><description><![CDATA[<p>Guck dir doch einfach die verschiedenen STL Teile die es gibt an, also vector, list, map, ...<br />
Oder falls dein Compiler schon die Noch-Nicht-Standard Hash-Container (hash_map, hash_set) unterstützt dann die auch noch, was lookup angeht sind die nach einem vector das schnellste was es so gibt.</p>
<p>Bzw. wenns portierbar sein soll und du Hash-Container verwenden willst wirf nen Blick auf Boost.MultiIndex. Mit ein wenig Überredung laufen die sogar noch mit MSVC6 und sind auch einigermassen schnell.</p>
<p>Du kannst ja trotzdem eine Kapselung mit einer eigenen Klasse machen, bloss würde ich in dieser Klasse (Implementierung) nicht unbedingt das Rad neu erfinden wenns nix bringt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1155352</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1155352</guid><dc:creator><![CDATA[Plotzenhotz]]></dc:creator><pubDate>Mon, 16 Oct 2006 01:02:29 GMT</pubDate></item><item><title><![CDATA[Reply to Kurzfrage: schneller stl container direkt zu befüllen oder über objekt? on Mon, 16 Oct 2006 21:33:49 GMT]]></title><description><![CDATA[<p>sehr schön - vielen Danke - ihr habt mal wieder genau meine Fragen beantwortet <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
herrlich</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1155972</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1155972</guid><dc:creator><![CDATA[Mati]]></dc:creator><pubDate>Mon, 16 Oct 2006 21:33:49 GMT</pubDate></item></channel></rss>