<?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[Kleine Info zu placement new erbeten.]]></title><description><![CDATA[<p>Was genau ist placement new?<br />
Ich lese das hier so oft im Forum und in dem einem PDF über Policies<br />
<a href="http://www4.informatik.uni-erlangen.de/Lehre/SS04/HS_AspectOS/Ergebnisse/PBD-Folien.pdf" rel="nofollow">http://www4.informatik.uni-erlangen.de/Lehre/SS04/HS_AspectOS/Ergebnisse/PBD-Folien.pdf</a> habe ich es auch gelesen..</p>
<p>Ich habe folgenden Code (aus dem PDF; Seite 6):</p>
<pre><code class="language-cpp">template&lt;classT&gt;
classMallocCreator {
public:
  staticT* Create() {
    void* buf= malloc(sizeof(T));
    if (!buf)
      return0; // oder: Exception werfen
    return new(buf) T; // placement new
  }
};
</code></pre>
<p>Bedeutet placement new &quot;nur&quot;, dass ich new einen passenden Speicherbereich angeben kann?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/121124/kleine-info-zu-placement-new-erbeten</link><generator>RSS for Node</generator><lastBuildDate>Sat, 22 Aug 2026 14:43:43 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/121124.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 20 Sep 2005 09:28:26 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Kleine Info zu placement new erbeten. on Tue, 20 Sep 2005 09:28:26 GMT]]></title><description><![CDATA[<p>Was genau ist placement new?<br />
Ich lese das hier so oft im Forum und in dem einem PDF über Policies<br />
<a href="http://www4.informatik.uni-erlangen.de/Lehre/SS04/HS_AspectOS/Ergebnisse/PBD-Folien.pdf" rel="nofollow">http://www4.informatik.uni-erlangen.de/Lehre/SS04/HS_AspectOS/Ergebnisse/PBD-Folien.pdf</a> habe ich es auch gelesen..</p>
<p>Ich habe folgenden Code (aus dem PDF; Seite 6):</p>
<pre><code class="language-cpp">template&lt;classT&gt;
classMallocCreator {
public:
  staticT* Create() {
    void* buf= malloc(sizeof(T));
    if (!buf)
      return0; // oder: Exception werfen
    return new(buf) T; // placement new
  }
};
</code></pre>
<p>Bedeutet placement new &quot;nur&quot;, dass ich new einen passenden Speicherbereich angeben kann?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/876375</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/876375</guid><dc:creator><![CDATA[hehejo]]></dc:creator><pubDate>Tue, 20 Sep 2005 09:28:26 GMT</pubDate></item><item><title><![CDATA[Reply to Kleine Info zu placement new erbeten. on Tue, 20 Sep 2005 09:54:39 GMT]]></title><description><![CDATA[<p>schlicht und ergreifend ersetzt du den operator new von c++. (leider ist es nicht so einfach <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>
<p>nützlich für zb:<br />
- für einen memory pool<br />
- einen anderen allocater(malloc) benutzen möchtest<br />
- performance (da new langsam ist)<br />
- speicher sparen (new legt ein paar extra bytes zum löschen mit an)<br />
- garbage collector</p>
<p>das buch was ich vorhin empfohlen habe beschreibt diese themaik sehr gut und bietet einen smallobjektallocator mit an.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/876401</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/876401</guid><dc:creator><![CDATA[miller_m]]></dc:creator><pubDate>Tue, 20 Sep 2005 09:54:39 GMT</pubDate></item><item><title><![CDATA[Reply to Kleine Info zu placement new erbeten. on Tue, 20 Sep 2005 10:49:13 GMT]]></title><description><![CDATA[<p>Wenn ich daruch new ersetze, muss ich dann auch delete erseten?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/876447</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/876447</guid><dc:creator><![CDATA[hehejo]]></dc:creator><pubDate>Tue, 20 Sep 2005 10:49:13 GMT</pubDate></item><item><title><![CDATA[Reply to Kleine Info zu placement new erbeten. on Tue, 20 Sep 2005 10:57:12 GMT]]></title><description><![CDATA[<p>hehejo schrieb:</p>
<blockquote>
<p>Wenn ich daruch new ersetze, muss ich dann auch delete erseten?</p>
</blockquote>
<p>in der regel ja</p>
]]></description><link>https://www.c-plusplus.net/forum/post/876454</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/876454</guid><dc:creator><![CDATA[miller_m]]></dc:creator><pubDate>Tue, 20 Sep 2005 10:57:12 GMT</pubDate></item><item><title><![CDATA[Reply to Kleine Info zu placement new erbeten. on Tue, 20 Sep 2005 11:00:44 GMT]]></title><description><![CDATA[<p>ok, und wie sähe dieses delete beim obigen new aus?<br />
Etwas mit free, oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/876457</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/876457</guid><dc:creator><![CDATA[hehejo]]></dc:creator><pubDate>Tue, 20 Sep 2005 11:00:44 GMT</pubDate></item></channel></rss>