<?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[Problem mit &#x27;Objekte anfordern&#x27;]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich habe leider ein kleines Problem:</p>
<p>ich habe eine Klasse geschrieben, sogar in einem eigenen <em>Namespace</em>. Ich möchte ein neues Objekt dieser Klasse global anlegen aber erst in einer Funktion. Denn der Konstruktor dieser Klasse ruft Funktionen auf die, wenn man sie zu früh aufruft, Fehler verursachen.</p>
<p>Kann mir jemand sagen wie das geht, mit <em>new</em> und <em>delete</em> hat das meines Wissenes auch nichts zu tun.</p>
<p>Danke++ <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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/184800/problem-mit-objekte-anfordern</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 00:24:00 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/184800.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 19 Jun 2007 11:41:41 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit &#x27;Objekte anfordern&#x27; on Tue, 19 Jun 2007 11:41:41 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich habe leider ein kleines Problem:</p>
<p>ich habe eine Klasse geschrieben, sogar in einem eigenen <em>Namespace</em>. Ich möchte ein neues Objekt dieser Klasse global anlegen aber erst in einer Funktion. Denn der Konstruktor dieser Klasse ruft Funktionen auf die, wenn man sie zu früh aufruft, Fehler verursachen.</p>
<p>Kann mir jemand sagen wie das geht, mit <em>new</em> und <em>delete</em> hat das meines Wissenes auch nichts zu tun.</p>
<p>Danke++ <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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1309037</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1309037</guid><dc:creator><![CDATA[LukasBanana]]></dc:creator><pubDate>Tue, 19 Jun 2007 11:41:41 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit &#x27;Objekte anfordern&#x27; on Tue, 19 Jun 2007 11:44:02 GMT]]></title><description><![CDATA[<p>Code? Fehler?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1309038</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1309038</guid><dc:creator><![CDATA[finix]]></dc:creator><pubDate>Tue, 19 Jun 2007 11:44:02 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit &#x27;Objekte anfordern&#x27; on Tue, 19 Jun 2007 11:45:25 GMT]]></title><description><![CDATA[<p>LukasBanana schrieb:</p>
<blockquote>
<p>Hallo Leute,</p>
<p>ich habe eine Klasse geschrieben, sogar in einem eigenen <em>Namespace</em>. Ich möchte ein neues Objekt dieser Klasse global anlegen aber erst in einer Funktion.</p>
</blockquote>
<p>Global in einer Funktion, das wäre dann lokal...</p>
<p>LukasBanana schrieb:</p>
<blockquote>
<p>Denn der Konstruktor dieser Klasse ruft Funktionen auf die, wenn man sie zu früh aufruft, Fehler verursachen.</p>
</blockquote>
<p>Dann solltest du dir dein design mal überlegen...oder hoffen, das jeder GENAU deine Doku zu der Klasse ließt...</p>
<p>LukasBanana schrieb:</p>
<blockquote>
<p>Kann mir jemand sagen wie das geht, mit <em>new</em> und <em>delete</em> hat das meines Wissenes auch nichts zu tun.</p>
</blockquote>
<p>ich würde sagen, doch!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1309039</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1309039</guid><dc:creator><![CDATA[ser1al_ausgeloggt]]></dc:creator><pubDate>Tue, 19 Jun 2007 11:45:25 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit &#x27;Objekte anfordern&#x27; on Tue, 19 Jun 2007 11:45:59 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">Objekt* g_Objekt = NULL;

void eineErstellFunktion()
{
  g_Objekt = new Objekt;
}

int main()
{
  // mach was
  eineErstellFunktion();
  // mach was
  delete g_Objekt;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1309040</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1309040</guid><dc:creator><![CDATA[Maxi]]></dc:creator><pubDate>Tue, 19 Jun 2007 11:45:59 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit &#x27;Objekte anfordern&#x27; on Tue, 19 Jun 2007 11:48:01 GMT]]></title><description><![CDATA[<p>ser1al_ausgeloggt schrieb:</p>
<blockquote>
<p>LukasBanana schrieb:</p>
<blockquote>
<p>Kann mir jemand sagen wie das geht, mit <em>new</em> und <em>delete</em> hat das meines Wissenes auch nichts zu tun.</p>
</blockquote>
<p>ich würde sagen, doch!</p>
</blockquote>
<p>Aber mit <em>new</em> und <em>delete</em> mache ich das Objekt doch auch nicht lokal?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1309042</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1309042</guid><dc:creator><![CDATA[LukasBanana]]></dc:creator><pubDate>Tue, 19 Jun 2007 11:48:01 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit &#x27;Objekte anfordern&#x27; on Tue, 19 Jun 2007 11:48:51 GMT]]></title><description><![CDATA[<p>LukasBanana schrieb:</p>
<blockquote>
<p>...<br />
Kann mir jemand sagen wie das geht, mit <em>new</em> und <em>delete</em> hat das meines Wissenes auch nichts zu tun.<br />
Danke++ <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="🙂"
    /></p>
</blockquote>
<p>Wieso nicht ?<br />
Du kannst z.B. einen globalen Zeiger auf dein Objekt deklarieren und in deiner Funktion mit new dein Objekt erzeugen. <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="🙂"
    /></p>
<p>Gruß, p.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1309043</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1309043</guid><dc:creator><![CDATA[proggingmania]]></dc:creator><pubDate>Tue, 19 Jun 2007 11:48:51 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit &#x27;Objekte anfordern&#x27; on Tue, 19 Jun 2007 11:50:21 GMT]]></title><description><![CDATA[<p>Danke &quot;Maxi&quot;, gute Idee, ich werd`s mal probieren! <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 />
Und Danke, an die anderen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1309045</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1309045</guid><dc:creator><![CDATA[LukasBanana]]></dc:creator><pubDate>Tue, 19 Jun 2007 11:50:21 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit &#x27;Objekte anfordern&#x27; on Tue, 19 Jun 2007 11:54:35 GMT]]></title><description><![CDATA[<p>Oder etwas Narrensicherer, sofern beim Destruktoraufruf nicht Abhängigkeiten existieren, ist etwas in der folgenden Art:</p>
<pre><code class="language-cpp">Objekt&amp; Instance()
{
  static Objekt a;
  return a;
}
</code></pre>
<p>Falls dir Pointer lieber sind geht das natürlich auch, wenn man statt der Referenz die Speicheradresse zurückliefert...</p>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1309051</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1309051</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Tue, 19 Jun 2007 11:54:35 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit &#x27;Objekte anfordern&#x27; on Tue, 19 Jun 2007 11:58:49 GMT]]></title><description><![CDATA[<p>OK, danke, aber noch eine kurze andere Frage zu <em>new</em> und <em>delete</em>:</p>
<p>Wie kann ich in einer Klassen-Funktion das aktuelle Objekt löschen?</p>
<p>Vielleicht so:</p>
<pre><code class="language-cpp">void Klasse::Funktion() {
  delete; /* lösche ich so das aktuelle Objekt, welches diese Funktion verwändet? */
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1309056</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1309056</guid><dc:creator><![CDATA[LukasBanana]]></dc:creator><pubDate>Tue, 19 Jun 2007 11:58:49 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit &#x27;Objekte anfordern&#x27; on Tue, 19 Jun 2007 12:11:14 GMT]]></title><description><![CDATA[<p><code>delete this;</code><br />
<a href="http://www.parashift.com/c++-faq-lite/freestore-mgmt.html#faq-16.15" rel="nofollow">http://www.parashift.com/c++-faq-lite/freestore-mgmt.html#faq-16.15</a> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/26a0.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--warning"
      title=":warning:"
      alt="⚠"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1309076</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1309076</guid><dc:creator><![CDATA[finix]]></dc:creator><pubDate>Tue, 19 Jun 2007 12:11:14 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit &#x27;Objekte anfordern&#x27; on Tue, 19 Jun 2007 12:21:38 GMT]]></title><description><![CDATA[<p>oh ja, das darf man leider nur in den wenigsten Fällen verwänden <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Aber ok, und wie kann ich denn in einen mit <em>new</em> gefüllten pointer <strong>iterieren</strong>?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1309088</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1309088</guid><dc:creator><![CDATA[LukasBanana]]></dc:creator><pubDate>Tue, 19 Jun 2007 12:21:38 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit &#x27;Objekte anfordern&#x27; on Tue, 19 Jun 2007 12:28:21 GMT]]></title><description><![CDATA[<p>LukasBanana schrieb:</p>
<blockquote>
<p>...das darf man leider nur in den wenigsten Fällen verwänden <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> ...</p>
</blockquote>
<p>und zwar mit gutem Grund.<br />
Ich behaupte mal (anhand der Fragen, die Du stellst): Du suchst nach &quot;falschen Lösungen&quot; !<br />
Sag' doch mal, was Du machen möchtest, dann können wir Dir bestimmt bessere Wege zeigen.</p>
<p>LukasBanana schrieb:</p>
<blockquote>
<p>...<br />
Aber ok, und wie kann ich denn in einen mit <em>new</em> gefüllten pointer <strong>iterieren</strong>?</p>
</blockquote>
<p>&quot;in einen Pointer&quot; kann man sowieso nicht itereieren, sondern bestenfalls &quot;durch/über ein/en Array/Container&quot; und die Antwort ist easy: Immer gleich.</p>
<p>Mit &quot;[]&quot; bzw. dem Äquivalent &quot;+i&quot;.</p>
<p>BTW: Der Ansatz mit der globalen Variable und der ungeklärten &quot;Ownership&quot; ist IMO bedenklich/überdenkenswert.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1309094</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1309094</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Tue, 19 Jun 2007 12:28:21 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit &#x27;Objekte anfordern&#x27; on Tue, 19 Jun 2007 12:33:22 GMT]]></title><description><![CDATA[<p>Also was ich wissen wollte war:<br />
wie man eine for-Schleife programmiert wenn man mit <em>new</em> und <em>delete</em> arbeitet.</p>
<p>Gruß LukasBanana</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1309102</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1309102</guid><dc:creator><![CDATA[LukasBanana]]></dc:creator><pubDate>Tue, 19 Jun 2007 12:33:22 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit &#x27;Objekte anfordern&#x27; on Tue, 19 Jun 2007 12:38:07 GMT]]></title><description><![CDATA[<p>Sag uns mal genauewr was du eigentlich vor hast.<br />
Eine for-schleife verändert ihr Aussehen auch dann nicht wenn du irgendwo ein new verwendest.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1309109</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1309109</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 19 Jun 2007 12:38:07 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit &#x27;Objekte anfordern&#x27; on Tue, 19 Jun 2007 12:42:41 GMT]]></title><description><![CDATA[<p>Naja, sieht das dann vielleicht so aus:</p>
<pre><code class="language-cpp">Objekt* p = new Objekt;
for (int i = 0; i &lt; /*wie soll ich z.B. die Anzahl Objekte abfragen auf die der Pointer zeigt?*/; ++i) {
  p[i] // ist das richtig?
  delete p[i] // ... und das?
}
</code></pre>
<p>Eben wie ich alle Objekte, auf die der Pointer zeigt (Objekt* p), 'durchlaufen' kann?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1309116</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1309116</guid><dc:creator><![CDATA[LukasBanana]]></dc:creator><pubDate>Tue, 19 Jun 2007 12:42:41 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit &#x27;Objekte anfordern&#x27; on Tue, 19 Jun 2007 13:23:07 GMT]]></title><description><![CDATA[<p>LukasBanana schrieb:</p>
<blockquote>
<pre><code class="language-cpp">Objekt* p = new Objekt; // Simon2: Hier erzeugst Du EIN EINZIGES Objekt !!
</code></pre>
</blockquote>
<p>Was Du möchtest, ist, ein Array dynamisch anzulegen und genau an der Stelle, an der Du Dein Fragezeichen hast, wird klar, dass Dir Information fehlt !<br />
Und zwar musst DU die Frage beantworten: Wieviele Objekte möchtest Du haben ?</p>
<pre><code class="language-cpp">std::size_t meineAnzahl = ...;
Objekt* p = new Objekt[meineAnzahl]; // Array dynamisch erzeugen und p auf das erste Element zeigen lassen
for (int i = 0; i &lt; meineAnzahl; ++i) {
  p[i].doSomething();
}
delete[] p; // Array erst vernichten, wenn Du es nicht mehr brauchst
</code></pre>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1309125</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1309125</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Tue, 19 Jun 2007 13:23:07 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit &#x27;Objekte anfordern&#x27; on Tue, 19 Jun 2007 13:11:31 GMT]]></title><description><![CDATA[<p>Das mit dem Array habe ich schon mal gesehen, aber soll man new und delete nicht auch dafür verwänden können dass wenn man nicht weiß wie viele Elemente man haben will?!<br />
Also wenn man immer wieder neue dazu machen möchte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1309146</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1309146</guid><dc:creator><![CDATA[LukasBanana]]></dc:creator><pubDate>Tue, 19 Jun 2007 13:11:31 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit &#x27;Objekte anfordern&#x27; on Tue, 19 Jun 2007 13:16:38 GMT]]></title><description><![CDATA[<p>LukasBanana schrieb:</p>
<blockquote>
<p>Daber soll man new und delete nicht auch dafür verwänden können dass wenn man nicht weiß wie viele Elemente man haben will?!</p>
</blockquote>
<p>Ja, nämlich genau dann wenn Du <strong>zur Compilezeit</strong> nicht weisst wieviele Objekte Du haben willst.</p>
<p>Wenn die Anzahl sich zur Laufzeit ändert (nach oben), kannst Du meistens nur neuen Speicher anfordern und die Werte aus dem alten Speicherbereich rüberkopieren. So etwas machen u.a. die Datenstrukturen der Standardbibliothek (z.B. std::vector) ganz hervorragend für Dich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1309148</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1309148</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Tue, 19 Jun 2007 13:16:38 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit &#x27;Objekte anfordern&#x27; on Tue, 19 Jun 2007 13:37:25 GMT]]></title><description><![CDATA[<p>Okay, alles klar.<br />
Hab in zwischen ne gute Lösung mit Vectors gefunden.<br />
Danke an alle <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 />
Gruß LukasBanana</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1309159</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1309159</guid><dc:creator><![CDATA[LukasBanana]]></dc:creator><pubDate>Tue, 19 Jun 2007 13:37:25 GMT</pubDate></item></channel></rss>