<?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[Manuelle Speicherverwaltung]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich habe gehört, dass man um die Heap Fragmentierung oft die Speicherverwaltung selbst in die Hand nimmt, indem man am Programmstart einen größeren Speicherblock alloziert und dann seine Objekte in diesem anlegt.<br />
Kann mir jemand zu ein paar Seiten weisen, die die manuelle Speicherverwaltung beschreiben, denn mein jetziges Bild ist, wie ihr sehen könnt nur sehr ungenau.<br />
Wenn jemand andere Vorschläge hat um Heap Fragmentierung zu kontern sind diese natürlich auch sehr wilkommen.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/132397/manuelle-speicherverwaltung</link><generator>RSS for Node</generator><lastBuildDate>Thu, 27 Aug 2026 14:10:43 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/132397.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 10 Jan 2006 15:56:50 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Manuelle Speicherverwaltung on Tue, 10 Jan 2006 15:56:50 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich habe gehört, dass man um die Heap Fragmentierung oft die Speicherverwaltung selbst in die Hand nimmt, indem man am Programmstart einen größeren Speicherblock alloziert und dann seine Objekte in diesem anlegt.<br />
Kann mir jemand zu ein paar Seiten weisen, die die manuelle Speicherverwaltung beschreiben, denn mein jetziges Bild ist, wie ihr sehen könnt nur sehr ungenau.<br />
Wenn jemand andere Vorschläge hat um Heap Fragmentierung zu kontern sind diese natürlich auch sehr wilkommen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/962821</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/962821</guid><dc:creator><![CDATA[tommazzo]]></dc:creator><pubDate>Tue, 10 Jan 2006 15:56:50 GMT</pubDate></item><item><title><![CDATA[Reply to Manuelle Speicherverwaltung on Tue, 10 Jan 2006 16:10:55 GMT]]></title><description><![CDATA[<p>Kannst recht leicht mit Allokatoren machen wie die STL, oder durch Überladen von operator new und operator delete.</p>
<p>Fertige Allokatoren findest du auch bei <a href="http://www.boost.org/libs/pool/doc/index.html" rel="nofollow">boost</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/962833</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/962833</guid><dc:creator><![CDATA[Any]]></dc:creator><pubDate>Tue, 10 Jan 2006 16:10:55 GMT</pubDate></item><item><title><![CDATA[Reply to Manuelle Speicherverwaltung on Thu, 12 Jan 2006 14:40:30 GMT]]></title><description><![CDATA[<p>OK jetzt ist mir alles von der Theorie her schon einiges klarer. Vielen Dank!</p>
<p>Eine Frage habe ich aber noch:<br />
Wenn ich also einen Speicherbereich reserviere, den ich selbst verwalten will, schreibe ich mir also eine Klasse die eine Liste der bereits angeforderten Objekte in dem Speicherbereich und natürlich einen Pointer auf den Speicherbereich selber hat. In dieser Klasse habe ich dann z.B. eine Methode alloc() die mir einen Pointer auf ein gerade angefordertes Onbjekt X zurück gibt. Wie wird allerdings der Konstruktor von X ausgelöst und kann alloc() auch für überladene Konstruktoren verwendet werden oder gibt es da noch eine andere Möglichkeit?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/964639</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/964639</guid><dc:creator><![CDATA[tommazzo]]></dc:creator><pubDate>Thu, 12 Jan 2006 14:40:30 GMT</pubDate></item><item><title><![CDATA[Reply to Manuelle Speicherverwaltung on Thu, 12 Jan 2006 16:27:22 GMT]]></title><description><![CDATA[<p>tommazzo schrieb:</p>
<blockquote>
<p>OK jetzt ist mir alles von der Theorie her schon einiges klarer. Vielen Dank!</p>
<p>Eine Frage habe ich aber noch:<br />
Wenn ich also einen Speicherbereich reserviere, den ich selbst verwalten will, schreibe ich mir also eine Klasse die eine Liste der bereits angeforderten Objekte in dem Speicherbereich und natürlich einen Pointer auf den Speicherbereich selber hat. In dieser Klasse habe ich dann z.B. eine Methode alloc() die mir einen Pointer auf ein gerade angefordertes Onbjekt X zurück gibt. Wie wird allerdings der Konstruktor von X ausgelöst und kann alloc() auch für überladene Konstruktoren verwendet werden oder gibt es da noch eine andere Möglichkeit?</p>
</blockquote>
<p>Wie sieht denn die alloc Funktion bei dir aus?</p>
<p>mfg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/964758</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/964758</guid><dc:creator><![CDATA[joomoo]]></dc:creator><pubDate>Thu, 12 Jan 2006 16:27:22 GMT</pubDate></item><item><title><![CDATA[Reply to Manuelle Speicherverwaltung on Thu, 12 Jan 2006 16:29:26 GMT]]></title><description><![CDATA[<p>Im Moment gar nicht. Das war nur ein Beispiel bezogen auf die Pool Library von Boost. Ich würde gerne wissen wie so etwas generell funktioniert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/964759</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/964759</guid><dc:creator><![CDATA[tommazzo]]></dc:creator><pubDate>Thu, 12 Jan 2006 16:29:26 GMT</pubDate></item><item><title><![CDATA[Reply to Manuelle Speicherverwaltung on Thu, 12 Jan 2006 16:31:22 GMT]]></title><description><![CDATA[<p>Mit placement new.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/964763</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/964763</guid><dc:creator><![CDATA[Ringding]]></dc:creator><pubDate>Thu, 12 Jan 2006 16:31:22 GMT</pubDate></item><item><title><![CDATA[Reply to Manuelle Speicherverwaltung on Thu, 12 Jan 2006 18:46:31 GMT]]></title><description><![CDATA[<p>Ringding schrieb:</p>
<blockquote>
<p>Mit placement new.</p>
</blockquote>
<p>OK die Bezeichnung kenne ich jetzt schon mal, wie sieht es mit weiteren Details aus?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/964880</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/964880</guid><dc:creator><![CDATA[tommazzo]]></dc:creator><pubDate>Thu, 12 Jan 2006 18:46:31 GMT</pubDate></item><item><title><![CDATA[Reply to Manuelle Speicherverwaltung on Thu, 12 Jan 2006 19:23:39 GMT]]></title><description><![CDATA[<p>Nachdem das der gebräuchliche Begriff dafür ist, kann dir dein Freund google sicher einiges dazu sagen. Es ist mehr oder weniger einfach ein new mit einem Zusatzargument (der Adresse).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/964916</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/964916</guid><dc:creator><![CDATA[Ringding]]></dc:creator><pubDate>Thu, 12 Jan 2006 19:23:39 GMT</pubDate></item><item><title><![CDATA[Reply to Manuelle Speicherverwaltung on Thu, 12 Jan 2006 21:08:31 GMT]]></title><description><![CDATA[<p>Also wenn ich es richtig verstanden habe dann kann ich den standard new Operator entweder mit dem Überladen von new, placement new oder einem eigenen Allocator umgehen. Wenn ich aber genau bestimmen will wo im Speicher das Objekt liegen soll komme ich um den eigenen Allocator nicht herum. Ist das korrekt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/965001</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/965001</guid><dc:creator><![CDATA[tommazzo]]></dc:creator><pubDate>Thu, 12 Jan 2006 21:08:31 GMT</pubDate></item></channel></rss>