<?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[Effizientes Anlegen vieler gleicher Objekte]]></title><description><![CDATA[<p>Hi,</p>
<p>ich habe in einem Projekt folgendes Problem:</p>
<p>Es existiert eine Basisklassem vom Typ MainNode:</p>
<pre><code class="language-cpp">MainNode *BaseNode = new MainNode;
</code></pre>
<p>Unterhalb dieser Basisklasse sollen 16 Objekte vom Typ ChildNode angelegt werden, MainNode besitzt eine Methode add(), mit der ich diese Unterknoten hinzufügen kann.</p>
<p>Bisher gehe ich so vor:</p>
<pre><code class="language-cpp">ChildNode *Child_1 = new ChildNode;
BaseNode-&gt;add(Child_1);
ChildNode *Child_2 = new ChildNode;
BaseNode-&gt;add(Child2);
</code></pre>
<p>Bei 16 Knoten ist das vom Aufwand her zu vertreten, bei meinetwegen 160 Knoten wird es nervig. Leider fällt mir keine Lösung ein, wie ich das ganze etwas schöner gestalten könnte, um diesen Prozess nicht mit so viel Tipparbeit zu verbinden. Ich bin mir aber sicher, dass das irgendwie gehen muss- habt Ihr da ein Paar Tipps oder Hinweise?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/146296/effizientes-anlegen-vieler-gleicher-objekte</link><generator>RSS for Node</generator><lastBuildDate>Thu, 03 Sep 2026 15:17:38 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/146296.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 06 May 2006 13:50:09 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Effizientes Anlegen vieler gleicher Objekte on Sat, 06 May 2006 13:50:09 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich habe in einem Projekt folgendes Problem:</p>
<p>Es existiert eine Basisklassem vom Typ MainNode:</p>
<pre><code class="language-cpp">MainNode *BaseNode = new MainNode;
</code></pre>
<p>Unterhalb dieser Basisklasse sollen 16 Objekte vom Typ ChildNode angelegt werden, MainNode besitzt eine Methode add(), mit der ich diese Unterknoten hinzufügen kann.</p>
<p>Bisher gehe ich so vor:</p>
<pre><code class="language-cpp">ChildNode *Child_1 = new ChildNode;
BaseNode-&gt;add(Child_1);
ChildNode *Child_2 = new ChildNode;
BaseNode-&gt;add(Child2);
</code></pre>
<p>Bei 16 Knoten ist das vom Aufwand her zu vertreten, bei meinetwegen 160 Knoten wird es nervig. Leider fällt mir keine Lösung ein, wie ich das ganze etwas schöner gestalten könnte, um diesen Prozess nicht mit so viel Tipparbeit zu verbinden. Ich bin mir aber sicher, dass das irgendwie gehen muss- habt Ihr da ein Paar Tipps oder Hinweise?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1052045</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1052045</guid><dc:creator><![CDATA[PlanetExpress]]></dc:creator><pubDate>Sat, 06 May 2006 13:50:09 GMT</pubDate></item><item><title><![CDATA[Reply to Effizientes Anlegen vieler gleicher Objekte on Sat, 06 May 2006 13:54:21 GMT]]></title><description><![CDATA[<p>Indem du z.B. eine Schleife verwendest:</p>
<pre><code class="language-cpp">const int ELEMENTS = 160;
for(int i=0; i&lt;ELEMENTS; ++i)
  BaseNode-&gt;add(new ChildNode());
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1052049</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1052049</guid><dc:creator><![CDATA[Vellas]]></dc:creator><pubDate>Sat, 06 May 2006 13:54:21 GMT</pubDate></item><item><title><![CDATA[Reply to Effizientes Anlegen vieler gleicher Objekte on Sat, 06 May 2006 14:11:03 GMT]]></title><description><![CDATA[<p>An so was ähnliches hatte ich auch schon gedacht-</p>
<p>nur bei einer Konstruktion wie:</p>
<pre><code class="language-cpp">BaseNode-&gt;add(new ChildNode())
</code></pre>
<p>bekomme ich immer noch keinen Pointer auf einen spezifischen ChildNode. Deswegen ja überhaupt das Theater mit der Durchnummerierung der VChild Nodes.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1052059</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1052059</guid><dc:creator><![CDATA[PlanetExpress]]></dc:creator><pubDate>Sat, 06 May 2006 14:11:03 GMT</pubDate></item><item><title><![CDATA[Reply to Effizientes Anlegen vieler gleicher Objekte on Sat, 06 May 2006 14:18:12 GMT]]></title><description><![CDATA[<p>Was macht denn add? Das fügt die Dinger doch sicherlich zu einem Vektor oder soetwas hinzu, wozu also spezifische Zeiger?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1052063</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1052063</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Sat, 06 May 2006 14:18:12 GMT</pubDate></item><item><title><![CDATA[Reply to Effizientes Anlegen vieler gleicher Objekte on Sat, 06 May 2006 14:27:07 GMT]]></title><description><![CDATA[<p>Wenn du durchnumerierte Variablen vom Typ ChildNode willst, benutz doch einen vector:</p>
<pre><code class="language-cpp">std::vector&lt;ChildNode*&gt; v(ELEMENTS); // ELEMENTS: s.o.
for(int i=0; i&lt;ELEMENTS; ++i) {
  v[i]=new ChildNode();
  BaseNode-&gt;add(v[i]);
}
</code></pre>
<p>Oder du implementierst die Liste mit einem vector , fügst das Element bei Add immer mit push an den vector an und überlädst für die Klasse den operator[] um einen Indexzugriff auf die Elemente zu ermöglichen, dann musst du nicht ein extra vector wie bei mir immer mit rumschleppen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1052070</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1052070</guid><dc:creator><![CDATA[Vellas]]></dc:creator><pubDate>Sat, 06 May 2006 14:27:07 GMT</pubDate></item><item><title><![CDATA[Reply to Effizientes Anlegen vieler gleicher Objekte on Sat, 06 May 2006 14:28:00 GMT]]></title><description><![CDATA[<p>Weil die darüberliegende Programmbibliothek vorschreibt, dass es eben Zeiger vom Typ ChildNode sein müssen. Wenn ich einfach per</p>
<pre><code class="language-cpp">new ChildNode()
</code></pre>
<p>Speicherblöcke reserviere, diese an BaseNode übergebe und dann immer per getChild(01) oder so etwas anfordere, funktioniert möglicherweise das Ganze Systemnicht mehr.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1052072</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1052072</guid><dc:creator><![CDATA[PlanetExpress]]></dc:creator><pubDate>Sat, 06 May 2006 14:28:00 GMT</pubDate></item><item><title><![CDATA[Reply to Effizientes Anlegen vieler gleicher Objekte on Sat, 06 May 2006 14:30:37 GMT]]></title><description><![CDATA[<p>Nee, das handelt sich um eine Szenengrafenverwaltung, die nicht mehr funktioiniert, wenn ich meine Objekte in STL Container Packe...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1052075</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1052075</guid><dc:creator><![CDATA[PlanetExpress]]></dc:creator><pubDate>Sat, 06 May 2006 14:30:37 GMT</pubDate></item><item><title><![CDATA[Reply to Effizientes Anlegen vieler gleicher Objekte on Sat, 06 May 2006 14:43:38 GMT]]></title><description><![CDATA[<p>Dann könntest du ja noch eine Struktur basteln die etwa so aussieht:</p>
<pre><code class="language-cpp">struct IndexChild {
  int index;
  ChildNode *child;
}
</code></pre>
<p>In MainNode legst du einen Zähler an und dann änderst du Add etwa so ab:</p>
<pre><code class="language-cpp">void MainNode::Add(ChildNode *cn) {
  IndexChild ic;
  ic.index = zaehler++;
  ic.child = cn;
  // Element der Liste hinzufügen
}
</code></pre>
<p>Wenn das auch nicht möglich ist (warum auch immer), dann wird wohl nur deine erste Möglichkeit funktionieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1052081</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1052081</guid><dc:creator><![CDATA[Vellas]]></dc:creator><pubDate>Sat, 06 May 2006 14:43:38 GMT</pubDate></item><item><title><![CDATA[Reply to Effizientes Anlegen vieler gleicher Objekte on Sat, 06 May 2006 14:40:29 GMT]]></title><description><![CDATA[<p>Du sollst ja auch nicht die Objekte in einen Container legen, sondern die Zeiger darauf. Das interessiert die Szenengraphenverwaltung nicht im geringesten, solange du die Zeiger nicht versehentlich löschst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1052082</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1052082</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Sat, 06 May 2006 14:40:29 GMT</pubDate></item><item><title><![CDATA[Reply to Effizientes Anlegen vieler gleicher Objekte on Sat, 06 May 2006 14:41:34 GMT]]></title><description><![CDATA[<p>okay, das hilft. Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1052083</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1052083</guid><dc:creator><![CDATA[PlanetExpress]]></dc:creator><pubDate>Sat, 06 May 2006 14:41:34 GMT</pubDate></item></channel></rss>