<?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[Placement new.]]></title><description><![CDATA[<p>Hi, eine weitere Facette von C++ von der ich bisher maximal was gehört hab ist das Placement new.<br />
Dazu ein paar Fragen. Naja, zunächst nur eine aber es werden sicherlich noch welche folgen.</p>
<pre><code class="language-cpp">int main()
  {
  char buffer[100];
  int* example(new(buffer) int(4));
  }
</code></pre>
<p>Sehe ich das richtig, dass hier der Speicher für example in dem Buffer auf dem Stack allokiert wird und demnach auch kein delete benötigt wird? (Also zumindest nicht was Memory Leaks angeht)?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/227689/placement-new</link><generator>RSS for Node</generator><lastBuildDate>Tue, 29 Sep 2026 21:16:27 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/227689.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 18 Nov 2008 20:08:11 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Placement new. on Tue, 18 Nov 2008 20:08:11 GMT]]></title><description><![CDATA[<p>Hi, eine weitere Facette von C++ von der ich bisher maximal was gehört hab ist das Placement new.<br />
Dazu ein paar Fragen. Naja, zunächst nur eine aber es werden sicherlich noch welche folgen.</p>
<pre><code class="language-cpp">int main()
  {
  char buffer[100];
  int* example(new(buffer) int(4));
  }
</code></pre>
<p>Sehe ich das richtig, dass hier der Speicher für example in dem Buffer auf dem Stack allokiert wird und demnach auch kein delete benötigt wird? (Also zumindest nicht was Memory Leaks angeht)?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1616781</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1616781</guid><dc:creator><![CDATA[JustAnotherNoob]]></dc:creator><pubDate>Tue, 18 Nov 2008 20:08:11 GMT</pubDate></item><item><title><![CDATA[Reply to Placement new. on Tue, 18 Nov 2008 20:29:47 GMT]]></title><description><![CDATA[<p>Ich vermute mal, dass bei fehlendem delete der Destruktor nicht aufgerufen wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1616793</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1616793</guid><dc:creator><![CDATA[anonymus]]></dc:creator><pubDate>Tue, 18 Nov 2008 20:29:47 GMT</pubDate></item><item><title><![CDATA[Reply to Placement new. on Tue, 18 Nov 2008 20:42:59 GMT]]></title><description><![CDATA[<p>ja, das macht natürlich Sinn, daran hab ich gar nicht gedacht.<br />
Aber in dem Fall mit dem int macht es nichts, oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1616804</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1616804</guid><dc:creator><![CDATA[JustAnotherNoob]]></dc:creator><pubDate>Tue, 18 Nov 2008 20:42:59 GMT</pubDate></item><item><title><![CDATA[Reply to Placement new. on Tue, 18 Nov 2008 20:46:37 GMT]]></title><description><![CDATA[<p>JustAnotherNoob schrieb:</p>
<blockquote>
<p>ja, das macht natürlich Sinn, daran hab ich gar nicht gedacht.</p>
</blockquote>
<p>Nein, macht es nicht. Bei Placement New wird kein Speicher angefordert, also muss auch nichts freigegeben werden.</p>
<p>Dennoch würde ich davon abraten. Erstens bearbeitest du den Stack und zweitens versuchst du, <code>int*</code> in <code>char*</code> hinzubiegen. Placement New ist dazu da, ein per <code>new</code> allokierter Speicher mit einem Objekt zu belegen, also wenn man separat allokiert und konstruiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1616805</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1616805</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 18 Nov 2008 20:46:37 GMT</pubDate></item></channel></rss>