<?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[[solved] Instanzen einer Klasse in einer for-Schleife in ein Array packen?]]></title><description><![CDATA[<p>Hallo, ich möchte gerne eine variable Anzahl an Instanzen in einer for-Schleife in ein Array packen, ich weiß leider nicht wie ich das realisieren kann, bin schon seit 2 Tagen am ausprobieren.</p>
<pre><code class="language-cpp">class Player {
  public:
    Player(string name, int money);
  private:
    string player_name;
    int player_money;
};

int main(void) {
  int i,Anzahl=10;
  vector&lt;Player&gt; alleSpieler(Anzahl);
  for(i=0;i&lt;Anzahl;i++) {
    alleSpieler[i] = Player bot1(&quot;PowerBot1&quot;,1500); // hier liegt das Problem
  }
}

Player::Player(string name, int money) {
  this-&gt;player_name = name;
  this-&gt;player_money = money;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/281568/solved-instanzen-einer-klasse-in-einer-for-schleife-in-ein-array-packen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 23 Aug 2026 14:02:26 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/281568.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 04 Feb 2011 08:27:49 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [solved] Instanzen einer Klasse in einer for-Schleife in ein Array packen? on Fri, 04 Feb 2011 09:50:09 GMT]]></title><description><![CDATA[<p>Hallo, ich möchte gerne eine variable Anzahl an Instanzen in einer for-Schleife in ein Array packen, ich weiß leider nicht wie ich das realisieren kann, bin schon seit 2 Tagen am ausprobieren.</p>
<pre><code class="language-cpp">class Player {
  public:
    Player(string name, int money);
  private:
    string player_name;
    int player_money;
};

int main(void) {
  int i,Anzahl=10;
  vector&lt;Player&gt; alleSpieler(Anzahl);
  for(i=0;i&lt;Anzahl;i++) {
    alleSpieler[i] = Player bot1(&quot;PowerBot1&quot;,1500); // hier liegt das Problem
  }
}

Player::Player(string name, int money) {
  this-&gt;player_name = name;
  this-&gt;player_money = money;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2016397</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2016397</guid><dc:creator><![CDATA[bogus2k]]></dc:creator><pubDate>Fri, 04 Feb 2011 09:50:09 GMT</pubDate></item><item><title><![CDATA[Reply to [solved] Instanzen einer Klasse in einer for-Schleife in ein Array packen? on Fri, 04 Feb 2011 08:40:44 GMT]]></title><description><![CDATA[<p>mach mal deinen konstructor so:</p>
<pre><code class="language-cpp">Player(string name, int money) : player_name(name), player_money(money) {}
</code></pre>
<p>du erzeugst ein array mit 10 mal &quot;Player bot1&quot;<br />
ich würde eher schreiben wenn du das so willst:</p>
<pre><code class="language-cpp">int main() {    // das void weglassen
  int i,Anzahl=10;
  Player bot1(&quot;PowerBot1&quot;,1500);
  vector&lt;Player&gt; alleSpieler(Anzahl);
  for(i=0;i&lt;Anzahl;i++) {
    alleSpieler[i] = bot1;  }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2016402</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2016402</guid><dc:creator><![CDATA[Gucky]]></dc:creator><pubDate>Fri, 04 Feb 2011 08:40:44 GMT</pubDate></item><item><title><![CDATA[Reply to [solved] Instanzen einer Klasse in einer for-Schleife in ein Array packen? on Fri, 04 Feb 2011 08:48:48 GMT]]></title><description><![CDATA[<p>bogus2k schrieb:</p>
<blockquote>
<pre><code class="language-cpp">alleSpieler[i] = Player bot1(&quot;PowerBot1&quot;,1500); // hier liegt das Problem
</code></pre>
</blockquote>
<p>Der Bezeichner &quot;bot1&quot; hat da nichts zu suchen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2016407</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2016407</guid><dc:creator><![CDATA[kurz_und_knackig]]></dc:creator><pubDate>Fri, 04 Feb 2011 08:48:48 GMT</pubDate></item><item><title><![CDATA[Reply to [solved] Instanzen einer Klasse in einer for-Schleife in ein Array packen? on Fri, 04 Feb 2011 09:06:17 GMT]]></title><description><![CDATA[<p>Danke schon mal für die Antworten, aber ich hab mich leider nicht richtig ausgedrückt bzw. ich hab mein Beispiel etwas zu vereinfacht. Ich möchte gerne in den Array verschiedene Objekte mit unterschiedlichen Namen und Geldwert schreiben.</p>
<p>Wie kann ich in der for-Schleife Instanzen/Objekte mit unterschiedlichen Namen erstellen bzw. die Objekte gleich im Array erstellen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2016418</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2016418</guid><dc:creator><![CDATA[bogus2k]]></dc:creator><pubDate>Fri, 04 Feb 2011 09:06:17 GMT</pubDate></item><item><title><![CDATA[Reply to [solved] Instanzen einer Klasse in einer for-Schleife in ein Array packen? on Fri, 04 Feb 2011 09:10:22 GMT]]></title><description><![CDATA[<p>oder direkt:</p>
<pre><code class="language-cpp">for(int n = 0; n &lt; 10; ++n)
    player[n] = Player(&quot;Powerbot1&quot;, 1500);
</code></pre>
<p>Und bitte, bitte, bitte: Misch nicht deutsch und englisch im Code! Entweder oder...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2016420</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2016420</guid><dc:creator><![CDATA[Eisflamme]]></dc:creator><pubDate>Fri, 04 Feb 2011 09:10:22 GMT</pubDate></item><item><title><![CDATA[Reply to [solved] Instanzen einer Klasse in einer for-Schleife in ein Array packen? on Fri, 04 Feb 2011 09:26:56 GMT]]></title><description><![CDATA[<p>Ok, ich werde versuchen alles in Englisch zu machen <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>
<pre><code class="language-cpp">for(int n = 0; n &lt; 10; ++n)
    player[n] = Player(&quot;Powerbot1&quot;, 1500);
</code></pre>
<p>funktioniert leider nicht, ich bekomme dann die Fehlermeldung das es keine Funktion Player::Player() gibt. Ruf ich damit nicht auch eine Funktion und kein neues Objekt auf?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2016426</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2016426</guid><dc:creator><![CDATA[bogus2k]]></dc:creator><pubDate>Fri, 04 Feb 2011 09:26:56 GMT</pubDate></item><item><title><![CDATA[Reply to [solved] Instanzen einer Klasse in einer for-Schleife in ein Array packen? on Fri, 04 Feb 2011 09:29:33 GMT]]></title><description><![CDATA[<p>bogus2k schrieb:</p>
<blockquote>
<p>ich bekomme dann die Fehlermeldung das es keine Funktion Player::Player() gibt.</p>
</blockquote>
<p>Aber nicht an dieser Stelle.</p>
<p>Verpass deiner Klasse mal einen Default-Konstruktor.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2016429</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2016429</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Fri, 04 Feb 2011 09:29:33 GMT</pubDate></item><item><title><![CDATA[Reply to [solved] Instanzen einer Klasse in einer for-Schleife in ein Array packen? on Fri, 04 Feb 2011 09:42:07 GMT]]></title><description><![CDATA[<p>Super, vielen Dank es funktioniert endlich <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="😉"
    /> ich war schon total frustriert!</p>
<p>Kann mir noch versuchen zu erklären warum ich einen default-Konstruktor benötige? Ich verwende doch weiterhin überall nur den Player::Player(string name,int money) Konstruktor.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2016433</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2016433</guid><dc:creator><![CDATA[bogus2k]]></dc:creator><pubDate>Fri, 04 Feb 2011 09:42:07 GMT</pubDate></item><item><title><![CDATA[Reply to [solved] Instanzen einer Klasse in einer for-Schleife in ein Array packen? on Fri, 04 Feb 2011 09:43:39 GMT]]></title><description><![CDATA[<p>bogus2k schrieb:</p>
<blockquote>
<p>Kann mir noch versuchen zu erklären warum ich einen default-Konstruktor benötige? Ich verwende doch weiterhin überall nur den Player::Player(string name,int money) Konstruktor.</p>
</blockquote>
<p>Wenn du einen Vector von 10 Player-Objekten anlegst, müssen die doch erst einmal konstruiert werden. <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/2016434</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2016434</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Fri, 04 Feb 2011 09:43:39 GMT</pubDate></item><item><title><![CDATA[Reply to [solved] Instanzen einer Klasse in einer for-Schleife in ein Array packen? on Fri, 04 Feb 2011 09:49:38 GMT]]></title><description><![CDATA[<p>klingt logisch <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="😉"
    /> vielen Dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2016435</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2016435</guid><dc:creator><![CDATA[bogus2k]]></dc:creator><pubDate>Fri, 04 Feb 2011 09:49:38 GMT</pubDate></item><item><title><![CDATA[Reply to [solved] Instanzen einer Klasse in einer for-Schleife in ein Array packen? on Fri, 04 Feb 2011 14:56:59 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;vector&gt;
#include &lt;iostream&gt;

class Player
{
    static int calls;
public:
    Player()                    { std::cout &lt;&lt; &quot;() &quot;;     ++calls;}
    Player(const Player &amp;p)     { std::cout &lt;&lt; &quot;(copy) &quot;; ++calls;}
    Player(int)                 { std::cout &lt;&lt; &quot;(int) &quot;;  ++calls;}
    ~Player()                   { std::cout &lt;&lt; &quot;~() &quot;;    ++calls;}

    static void c() { std::cout &lt;&lt; &quot;  Calls: &quot; &lt;&lt; calls &lt;&lt; &quot;\n&quot; &lt;&lt; std::endl; calls =0;}
};

int Player::calls=0;

int main(void)
{
    const int count = 10;
    {
        std::cout &lt;&lt; &quot;vector&lt;Player&gt; playersRed(count):\n\t&quot;;
        std::vector&lt;Player&gt; playersRed(count);
        for(int i=0; i&lt;count; ++i)
        {
            playersRed[i] = Player(1);
        }
    }
    Player::c();

    {
        std::cout &lt;&lt; &quot;vector&lt;Player&gt; playersGreen; + reserve(count);\n\t&quot;;
        std::vector&lt;Player&gt; playersGreen;
        playersGreen.reserve(count);
        for(int i=0; i&lt;count; ++i)
        {
            playersGreen.push_back(Player(1));
        }
    }
    Player::c();

}
</code></pre>
<pre><code>vector&lt;Player&gt; playersRed(count):
	() (copy) (copy) (copy) (copy) (copy) (copy) (copy) (copy) (copy) (copy) ~() (int) ~() (int) ~() (int) ~() (int) ~() (int) ~() (int) ~() (int) ~() (int) ~() (int) ~() (int) ~() ~() ~() ~() ~() ~() ~() ~() ~() ~() ~()   Calls: 42

vector&lt;Player&gt; playersGreen; + reserve(count);
	(int) (copy) ~() (int) (copy) ~() (int) (copy) ~() (int) (copy) ~() (int) (copy) ~() (int) (copy) ~() (int) (copy) ~() (int) (copy) ~() (int) (copy) ~() (int) (copy) ~() ~() ~() ~() ~() ~() ~() ~() ~() ~() ~()   Calls: 40
</code></pre>
<p>Viel spart vector&lt;T&gt;::reserve() gegenüber vector&lt;T&gt;(int) scheinbar nicht .. oder überseh ich da was?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2016546</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2016546</guid><dc:creator><![CDATA[padreigh]]></dc:creator><pubDate>Fri, 04 Feb 2011 14:56:59 GMT</pubDate></item><item><title><![CDATA[Reply to [solved] Instanzen einer Klasse in einer for-Schleife in ein Array packen? on Fri, 04 Feb 2011 14:52:46 GMT]]></title><description><![CDATA[<p>Wenn vector::vector den std-ctor der Klasse braucht, ist es anscheinend ein resize(). Wenn <a href="http://www.c-plusplus.net/forum/194635" rel="nofollow">das hier</a> stimmt:</p>
<p>pumuckl schrieb:</p>
<blockquote>
<p>wenn ich das richtig im Kopf hab ist reserve fuer den Compiler eh nur eine Richtlinie, keine Regel (sprich er muss nicht unbedingt den ganzen Platz reservieren).</p>
</blockquote>
<p>ist reserve ggü. resize evtl. speicherschonender. Aber ich glaube nicht, dass es viele Unterschiede in der Performance gibt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2016557</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2016557</guid><dc:creator><![CDATA[Eisflamme]]></dc:creator><pubDate>Fri, 04 Feb 2011 14:52:46 GMT</pubDate></item><item><title><![CDATA[Reply to [solved] Instanzen einer Klasse in einer for-Schleife in ein Array packen? on Fri, 04 Feb 2011 15:05:36 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;vector&gt;

class Player
{
    static int calls;
public:
    Player()                    { std::cout &lt;&lt; &quot;() &quot;;     ++calls;}
    Player(const Player &amp;p)     { std::cout &lt;&lt; &quot;(copy) &quot;; ++calls;}
    Player(int)                 { std::cout &lt;&lt; &quot;(int) &quot;;  ++calls;}
    ~Player()                   { std::cout &lt;&lt; &quot;~() &quot;;    ++calls;}
    Player&amp; operator=(Player const&amp; p) { std::cout&lt;&lt;&quot;op= &quot;; ++calls; }

    static void c() { std::cout &lt;&lt; &quot;  Calls: &quot; &lt;&lt; calls &lt;&lt; &quot;\n&quot; &lt;&lt; std::endl; calls =0;}
};

int Player::calls=0;

int main(void)
{
    const int count = 10;
    {
        std::cout &lt;&lt; &quot;vector&lt;Player&gt; playersRed(count):\n\t&quot;;
        std::vector&lt;Player&gt; playersRed(count);
        for(int i=0; i&lt;count; ++i)
        {
            playersRed[i] = Player(1);
        }
    }
    Player::c();

    {
        std::cout &lt;&lt; &quot;vector&lt;Player&gt; playersGreen; + reserve(count);\n\t&quot;;
        std::vector&lt;Player&gt; playersGreen;
        playersGreen.reserve(count);
        for(int i=0; i&lt;count; ++i)
        {
            playersGreen.push_back(Player(1));
        }
    }
    Player::c();

}
</code></pre>
<pre><code>vector&lt;Player&gt; playersRed(count):
	() (copy) (copy) (copy) (copy) (copy) (copy) (copy) (copy) (copy) (copy) ~() (int) op= ~() (int) op= ~() (int) op= ~() (int) op= ~() (int) op= ~() (int) op= ~() (int) op= ~() (int) op= ~() (int) op= ~() (int) op= ~() ~() ~() ~() ~() ~() ~() ~() ~() ~() ~()   Calls: 52

vector&lt;Player&gt; playersGreen; + reserve(count);
	(int) (copy) ~() (int) (copy) ~() (int) (copy) ~() (int) (copy) ~() (int) (copy) ~() (int) (copy) ~() (int) (copy) ~() (int) (copy) ~() (int) (copy) ~() (int) (copy) ~() ~() ~() ~() ~() ~() ~() ~() ~() ~() ~()   Calls: 40
</code></pre>
<p>reserve ist VIEL besser.<br />
man muss nur eben auch alles korrekt zählen <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/2016563</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2016563</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Fri, 04 Feb 2011 15:05:36 GMT</pubDate></item><item><title><![CDATA[Reply to [solved] Instanzen einer Klasse in einer for-Schleife in ein Array packen? on Fri, 04 Feb 2011 15:33:10 GMT]]></title><description><![CDATA[<p>dann aber auch:</p>
<pre><code class="language-cpp">Player&amp; operator=(Player const&amp; p) { std::cout&lt;&lt;&quot;op= &quot;; ++calls; return *this; }
</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=";D"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2016578</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2016578</guid><dc:creator><![CDATA[inter2k3]]></dc:creator><pubDate>Fri, 04 Feb 2011 15:33:10 GMT</pubDate></item><item><title><![CDATA[Reply to [solved] Instanzen einer Klasse in einer for-Schleife in ein Array packen? on Fri, 04 Feb 2011 16:20:44 GMT]]></title><description><![CDATA[<p>inter2k3 schrieb:</p>
<blockquote>
<p>dann aber auch:</p>
<pre><code class="language-cpp">Player&amp; operator=(Player const&amp; p) { std::cout&lt;&lt;&quot;op= &quot;; ++calls; return *this; }
</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=";D"
      alt="😉"
    /></p>
</blockquote>
<p>In der Tat.<br />
g++ hat keine Warnung geliefert - da muss man echt -Wall machen damit er hier was sagt. Gut zu wissen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2016619</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2016619</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Fri, 04 Feb 2011 16:20:44 GMT</pubDate></item><item><title><![CDATA[Reply to [solved] Instanzen einer Klasse in einer for-Schleife in ein Array packen? on Fri, 04 Feb 2011 16:27:39 GMT]]></title><description><![CDATA[<p>Dafür erhalte ich mit VS2010 für playersRed gleich mal 70 calls, da er bei</p>
<pre><code class="language-cpp">std::vector&lt;Player&gt; playersRed(count);
</code></pre>
<p>10 mal CTOR, CCTOR und DTOR aufruft, anstatt wie G++ anscheinend nur ein Objekt zu erstellen und dieses dann 9 mal zu kopieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2016625</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2016625</guid><dc:creator><![CDATA[inter2k3]]></dc:creator><pubDate>Fri, 04 Feb 2011 16:27:39 GMT</pubDate></item><item><title><![CDATA[Reply to [solved] Instanzen einer Klasse in einer for-Schleife in ein Array packen? on Fri, 04 Feb 2011 16:58:24 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/24492">@inter2k3</a>:<br />
Release oder Debug?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2016647</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2016647</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Fri, 04 Feb 2011 16:58:24 GMT</pubDate></item><item><title><![CDATA[Reply to [solved] Instanzen einer Klasse in einer for-Schleife in ein Array packen? on Fri, 04 Feb 2011 17:05:48 GMT]]></title><description><![CDATA[<p>Release mit Compiler-Optimierungen<br />
Wundert mich selbst aber ich find irgendwie keine Optimierung, die da noch greifen könnte.</p>
<p>Interessanterweise produziert</p>
<pre><code class="language-cpp">std::vector&lt;Player&gt; playersRed(count,Player());
</code></pre>
<p>hingegen auch nur 52 calls.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2016648</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2016648</guid><dc:creator><![CDATA[inter2k3]]></dc:creator><pubDate>Fri, 04 Feb 2011 17:05:48 GMT</pubDate></item><item><title><![CDATA[Reply to [solved] Instanzen einer Klasse in einer for-Schleife in ein Array packen? on Fri, 04 Feb 2011 20:28:31 GMT]]></title><description><![CDATA[<p>Also DAS ist nun wirklich seltsam.<br />
Bist du sicher dass du da keinen Flüchtigkeitsfehler gemacht hast bei deinem Vergleich?</p>
<p>Mit VS2005 kann das fast nicht sein, da sowohl der &quot;nur grösse&quot; als auch der &quot;grösse + wert&quot; ctor intern nur die selbe <code>_Construct_n</code> Funktion aufrufen... Hm.<br />
Muss mir das gleich nochmal mit VS2010 ansehen, vielleicht haben sie da die Std.Lib. geändert (also geändert wurde sicher viel, allein schon wegen Rvalue Referenzen, aber ich sehe keinen Grund die beiden hier betroffenen Konstruktoren zu ändern).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2016765</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2016765</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Fri, 04 Feb 2011 20:28:31 GMT</pubDate></item><item><title><![CDATA[Reply to [solved] Instanzen einer Klasse in einer for-Schleife in ein Array packen? on Sat, 05 Feb 2011 04:47:18 GMT]]></title><description><![CDATA[<p>Also ich kann keinen Fehler von mir erkennen:<br />
(hab die Ausgabefunktion leicht geändert)</p>
<pre><code class="language-cpp">const int count = 10;
	{	// -1-
		std::vector&lt;Player&gt; A(count);
		for (int i = 0; i!=count; ++i)
			A[i] = Player(i);
	}
	Player::clearCount(&quot;std::vector&lt;Player&gt; A(count)&quot;);

	{	// -2-
		std::vector&lt;Player&gt; B;
		B.reserve(count);
		for (int i = 0; i!=count; ++i)
			B.push_back(Player(i));
	}
	Player::clearCount(&quot;reserve + push_back&quot;);

	{	// -3-
		std::vector&lt;Player&gt; C(count,Player());
		for (int i = 0; i!=count; ++i)
			C[i] = Player(i);
	}
	Player::clearCount(&quot;std::vector&lt;Player&gt; C(count,Player())&quot;);

	{	// -4-
		std::vector&lt;Player&gt; D;
		D.reserve(count);
		std::generate_n(std::back_inserter(D),count,[]()-&gt;Player{static int val = 0; return Player(++val);});
	}
	Player::clearCount(&quot;reserve + generate_n + anonym func&quot;);

	{	// -5-
		std::vector&lt;Player&gt; D;
		D.reserve(count);
		std::fill_n(std::back_inserter(D),count,Player(1));
	}
	Player::clearCount(&quot;reserve + fill_n&quot;);
</code></pre>
<p>Ausgabe:</p>
<pre><code>std::vector&lt;Player&gt; A(count)
     CTOR: 10
CTOR(int): 10
    CCTOR: 10
     DTOR: 30
      OP=: 10
====total: [b]70[/b]

reserve + push_back
     CTOR:  0
CTOR(int): 10
    CCTOR: 10
     DTOR: 20
      OP=:  0
====total: [b]40[/b]

std::vector&lt;Player&gt; C(count,Player())
     CTOR:  1
CTOR(int): 10
    CCTOR: 10
     DTOR: 21
      OP=: 10
====total: [b]52[/b]

reserve + generate_n + anonym func
     CTOR:  0
CTOR(int): 10
    CCTOR: 10
     DTOR: 20
      OP=:  0
====total: [b]40[/b]

reserve + fill_n
     CTOR:  0
CTOR(int):  1
    CCTOR: 10
     DTOR: 11
      OP=:  0
====total: [b]22[/b]
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2016869</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2016869</guid><dc:creator><![CDATA[inter2k3]]></dc:creator><pubDate>Sat, 05 Feb 2011 04:47:18 GMT</pubDate></item><item><title><![CDATA[Reply to [solved] Instanzen einer Klasse in einer for-Schleife in ein Array packen? on Sun, 06 Feb 2011 14:28:38 GMT]]></title><description><![CDATA[<p>nett was so ein kleiner Test lostritt <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="🙂"
    /> - ich verwende (dogmatisch) reserve() und nie .resize()/std::vector&lt;T&gt;(size_t) wenn ich die größen abschätzen kann <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/2017344</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2017344</guid><dc:creator><![CDATA[padreigh]]></dc:creator><pubDate>Sun, 06 Feb 2011 14:28:38 GMT</pubDate></item></channel></rss>