<?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[Wird (STL-) Klasse innerhalb einer struct bei malloc auch instanziert ?]]></title><description><![CDATA[<p>Hallo Zusammen,</p>
<p>ist folgendes möglich (?):</p>
<pre><code class="language-cpp">struct tStruktur {
    int a;
    int b;
    list&lt;tAuto&gt; lAutos;
};
</code></pre>
<p>Was ich bräuchte ist nämlich eine Struktur (tStruktur), in der sich weitere Listen mit z.B. Autos befinden.<br />
Warum ich frage ob das geht ? Nun, ich möchte folgendes machen:</p>
<pre><code class="language-cpp">tStruktur *meineStruktur = (tStruktur*) malloc (sizeof(tStruktur));
</code></pre>
<p>Jedoch bezweifle ich mal stark, dass der Compiler beim reservieren von Speicherplatz für meine Struktur durch den Aufruf von malloc() erkennt, dass sich in der Struktur eine (STL-) Klasse 'list' befindet und für diese ebenfalls automatisch ausreichend freien Speicherplatz zur Verfügung stellt, bzw. deren Konstruktor aufruft. Versteht ihr was ich meine ?<br />
Alternativ würde ich es halt dann so machen, das sollte dann wohl funktionieren:</p>
<pre><code class="language-cpp">struct tStruktur {
    int a;
    int b;
    list&lt;tAuto&gt; *lAutos;
};
</code></pre>
<p>und beim Anlegen einer neuen Struktur dann halt so:</p>
<pre><code class="language-cpp">tStruktur *meineStruktur = (tStruktur*) malloc (sizeof(tStruktur)); 
     meineStruktur-&gt;lAutos = new list&lt;tAuto&gt;;
</code></pre>
<p>Also weiß jemand, ob erste Methode auch funktioniert ? Ich nehme mal an, es geht nicht...</p>
<p>GreetZ<br />
Xzibit</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/272999/wird-stl-klasse-innerhalb-einer-struct-bei-malloc-auch-instanziert</link><generator>RSS for Node</generator><lastBuildDate>Fri, 28 Aug 2026 10:54:55 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/272999.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 29 Aug 2010 13:27:53 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wird (STL-) Klasse innerhalb einer struct bei malloc auch instanziert ? on Sun, 29 Aug 2010 13:28:30 GMT]]></title><description><![CDATA[<p>Hallo Zusammen,</p>
<p>ist folgendes möglich (?):</p>
<pre><code class="language-cpp">struct tStruktur {
    int a;
    int b;
    list&lt;tAuto&gt; lAutos;
};
</code></pre>
<p>Was ich bräuchte ist nämlich eine Struktur (tStruktur), in der sich weitere Listen mit z.B. Autos befinden.<br />
Warum ich frage ob das geht ? Nun, ich möchte folgendes machen:</p>
<pre><code class="language-cpp">tStruktur *meineStruktur = (tStruktur*) malloc (sizeof(tStruktur));
</code></pre>
<p>Jedoch bezweifle ich mal stark, dass der Compiler beim reservieren von Speicherplatz für meine Struktur durch den Aufruf von malloc() erkennt, dass sich in der Struktur eine (STL-) Klasse 'list' befindet und für diese ebenfalls automatisch ausreichend freien Speicherplatz zur Verfügung stellt, bzw. deren Konstruktor aufruft. Versteht ihr was ich meine ?<br />
Alternativ würde ich es halt dann so machen, das sollte dann wohl funktionieren:</p>
<pre><code class="language-cpp">struct tStruktur {
    int a;
    int b;
    list&lt;tAuto&gt; *lAutos;
};
</code></pre>
<p>und beim Anlegen einer neuen Struktur dann halt so:</p>
<pre><code class="language-cpp">tStruktur *meineStruktur = (tStruktur*) malloc (sizeof(tStruktur)); 
     meineStruktur-&gt;lAutos = new list&lt;tAuto&gt;;
</code></pre>
<p>Also weiß jemand, ob erste Methode auch funktioniert ? Ich nehme mal an, es geht nicht...</p>
<p>GreetZ<br />
Xzibit</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1945703</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1945703</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sun, 29 Aug 2010 13:28:30 GMT</pubDate></item><item><title><![CDATA[Reply to Wird (STL-) Klasse innerhalb einer struct bei malloc auch instanziert ? on Sun, 29 Aug 2010 13:32:03 GMT]]></title><description><![CDATA[<p>Du hast recht, das geht nicht. Gibt es einen Grund, warum du nicht einfach</p>
<pre><code class="language-cpp">tStruktur *meineStruktur = new tStruktur;
</code></pre>
<p>schreibst?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1945707</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1945707</guid><dc:creator><![CDATA[seldon]]></dc:creator><pubDate>Sun, 29 Aug 2010 13:32:03 GMT</pubDate></item><item><title><![CDATA[Reply to Wird (STL-) Klasse innerhalb einer struct bei malloc auch instanziert ? on Sun, 29 Aug 2010 13:34:32 GMT]]></title><description><![CDATA[<p>Ääähm.. nö <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="🙂"
    /> Da hast du jetzt Recht.<br />
Ich bin halt noch Old-skool und benutze immer noch malloc haha.<br />
Aber 'new' würde auch nix an meiner Lage ändern oder ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1945709</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1945709</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sun, 29 Aug 2010 13:34:32 GMT</pubDate></item><item><title><![CDATA[Reply to Wird (STL-) Klasse innerhalb einer struct bei malloc auch instanziert ? on Sun, 29 Aug 2010 13:40:42 GMT]]></title><description><![CDATA[<p>new würde in diesem Fall Speicher anfordern und den Konstruktor von tStruktur aufrufen. Der kümmert sich auch um die Membervariablen.</p>
<p>Du musst das ganze nachher aber mit delete freigeben - nicht, dass du das ganze jetzt in free schmeißt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1945712</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1945712</guid><dc:creator><![CDATA[seldon]]></dc:creator><pubDate>Sun, 29 Aug 2010 13:40:42 GMT</pubDate></item><item><title><![CDATA[Reply to Wird (STL-) Klasse innerhalb einer struct bei malloc auch instanziert ? on Sun, 29 Aug 2010 13:45:50 GMT]]></title><description><![CDATA[<p>?<br />
Also ich benutze momentan die 2. Variante, mit malloc() und free().<br />
Wieso eigtl. den Konstruktor von tStruktur ? tStruktur hat doch gar keinen oder hab ich jetzt was falsch verstanden...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1945714</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1945714</guid><dc:creator><![CDATA[_Xzibit]]></dc:creator><pubDate>Sun, 29 Aug 2010 13:45:50 GMT</pubDate></item><item><title><![CDATA[Reply to Wird (STL-) Klasse innerhalb einer struct bei malloc auch instanziert ? on Sun, 29 Aug 2010 13:49:20 GMT]]></title><description><![CDATA[<p>Xzibit schrieb:</p>
<blockquote>
<p>Ich bin halt noch Old-skool und benutze immer noch malloc haha.</p>
</blockquote>
<p>malloc ist nicht Oldschool, malloc ist C und in C++ quasi immer falsch. Du solltest unbedingt immer new/new[] und delete/delete[] verwenden. Das ist auch keine Frage der persönlichen Präferenz. malloc ist falsch.</p>
<p>_Xzibit schrieb:</p>
<blockquote>
<p>Wieso eigtl. den Konstruktor von tStruktur ? tStruktur hat doch gar keinen oder hab ich jetzt was falsch verstanden...</p>
</blockquote>
<p>Wird automatisch generiert wenn keiner da ist.<br />
Du solltest dringend ein Anfängertutorial lesen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1945718</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1945718</guid><dc:creator><![CDATA[Nukularfüsiker]]></dc:creator><pubDate>Sun, 29 Aug 2010 13:49:20 GMT</pubDate></item><item><title><![CDATA[Reply to Wird (STL-) Klasse innerhalb einer struct bei malloc auch instanziert ? on Sun, 29 Aug 2010 14:18:41 GMT]]></title><description><![CDATA[<blockquote>
<p>malloc ist falsch.</p>
</blockquote>
<p>Ja, das weiß ich doch. Ich programmiere ja schließlich schon so einige Jahre.<br />
Jedoch macht es bei mir keinen Unterschied mehr, ob malloc oder new.<br />
Läuft genauso duch den COmpiler. Sachlich gesehen ist malloc() hier falsch, da geb' ich dir ja recht. Is ja gut <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/1945725</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1945725</guid><dc:creator><![CDATA[_Xzibit]]></dc:creator><pubDate>Sun, 29 Aug 2010 14:18:41 GMT</pubDate></item><item><title><![CDATA[Reply to Wird (STL-) Klasse innerhalb einer struct bei malloc auch instanziert ? on Sun, 29 Aug 2010 14:21:00 GMT]]></title><description><![CDATA[<p>_Xzibit schrieb:</p>
<blockquote>
<p>Läuft genauso duch den COmpiler.</p>
</blockquote>
<p>Das ist wohl das sinnloseste Argument für falsch oder richtig in der Programmierung überhaupt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1945727</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1945727</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sun, 29 Aug 2010 14:21:00 GMT</pubDate></item><item><title><![CDATA[Reply to Wird (STL-) Klasse innerhalb einer struct bei malloc auch instanziert ? on Sun, 29 Aug 2010 14:31:46 GMT]]></title><description><![CDATA[<blockquote>
<p>Das ist wohl das sinnloseste Argument für falsch oder richtig in der Programmierung überhaupt.</p>
</blockquote>
<p>Diskussion ist für mich hier zuende.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1945730</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1945730</guid><dc:creator><![CDATA[_Xzibit]]></dc:creator><pubDate>Sun, 29 Aug 2010 14:31:46 GMT</pubDate></item><item><title><![CDATA[Reply to Wird (STL-) Klasse innerhalb einer struct bei malloc auch instanziert ? on Sun, 29 Aug 2010 14:39:59 GMT]]></title><description><![CDATA[<p>_Xzibit schrieb:</p>
<blockquote>
<blockquote>
<p>Das ist wohl das sinnloseste Argument für falsch oder richtig in der Programmierung überhaupt.</p>
</blockquote>
<p>Diskussion ist für mich hier zuende.</p>
</blockquote>
<p>Super Einstellung! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
<p>Das erklärt auch, warum du mit mehreren Jahren Programmierung immernoch solchen C++ Code schreibst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1945732</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1945732</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sun, 29 Aug 2010 14:39:59 GMT</pubDate></item><item><title><![CDATA[Reply to Wird (STL-) Klasse innerhalb einer struct bei malloc auch instanziert ? on Sun, 29 Aug 2010 15:14:44 GMT]]></title><description><![CDATA[<blockquote>
<p>Zitat:<br />
Das ist wohl das sinnloseste Argument für falsch oder richtig in der Programmierung überhaupt.</p>
<p>Diskussion ist für mich hier zuende.</p>
<p>Super Einstellung! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
<p>Das erklärt auch, warum du mit mehreren Jahren Programmierung immernoch solchen C++ Code schreibst.</p>
</blockquote>
<p>Ja, mei <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="😉"
    /><br />
Ich finde eben den kleinen Fehler am Rande auch nicht soo schlimm, daher wollte ich jetzt auch nicht auf eine langwierige Diskussion eingehen... Aber ich werd's mir fürs nächste Mal merken, ich versprech's ! <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/1945742</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1945742</guid><dc:creator><![CDATA[_Xzibit]]></dc:creator><pubDate>Sun, 29 Aug 2010 15:14:44 GMT</pubDate></item><item><title><![CDATA[Reply to Wird (STL-) Klasse innerhalb einer struct bei malloc auch instanziert ? on Sun, 29 Aug 2010 15:19:03 GMT]]></title><description><![CDATA[<p>_Xzibit schrieb:</p>
<blockquote>
<blockquote>
<p>Das ist wohl das sinnloseste Argument für falsch oder richtig in der Programmierung überhaupt.</p>
</blockquote>
<p>Diskussion ist für mich hier zuende.</p>
</blockquote>
<p>^^</p>
<pre><code class="language-cpp">int *p;
*p = 10; // BUMM!!!
int x=10;
delete &amp;x; // BUMM!!!
</code></pre>
<p>Kompiliert wunderbar, geht aber zur Laufzeit sowas von schief! Deine Reaktion ist deshalb wirklich nicht verständlich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1945744</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1945744</guid><dc:creator><![CDATA[l&#x27;abra d&#x27;or]]></dc:creator><pubDate>Sun, 29 Aug 2010 15:19:03 GMT</pubDate></item><item><title><![CDATA[Reply to Wird (STL-) Klasse innerhalb einer struct bei malloc auch instanziert ? on Sun, 29 Aug 2010 18:31:42 GMT]]></title><description><![CDATA[<p>_Xzibit schrieb:</p>
<blockquote>
<p>Ich finde eben den kleinen Fehler am Rande auch nicht soo schlimm</p>
</blockquote>
<p>Statt new malloc zu verwenden ist kein kleiner Fehler am Rande, sondern löst ein ganz anderes Verhalten aus. Malloc ruft keinen Konstruktor auf, new hingegen schon. Das ist ein ganz gewaltiger Unterschied.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1945830</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1945830</guid><dc:creator><![CDATA[Ränkeschmied]]></dc:creator><pubDate>Sun, 29 Aug 2010 18:31:42 GMT</pubDate></item><item><title><![CDATA[Reply to Wird (STL-) Klasse innerhalb einer struct bei malloc auch instanziert ? on Tue, 31 Aug 2010 15:32:01 GMT]]></title><description><![CDATA[<p><code>new</code> und <code>delete</code> zu verwenden ist oft schon schlimm genug. Besonders an Orten, wo automatische Variablen die massiv bessere Wahl wären.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1946633</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1946633</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 31 Aug 2010 15:32:01 GMT</pubDate></item></channel></rss>