<?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[Benötigter Speicherplatz eines Objektes]]></title><description><![CDATA[<p>Ich möchte gerne wissen, wieviel Speicherplatz ein Objekt, das ich<br />
erzeuge anfordert.</p>
<p>Als mir geht es nicht darum das sizeof zu ermitteln, sondern auch eventuelle<br />
weitere Speicheranforderungen innerhalb des Konstruktors.</p>
<p>Gibt es irgendein Verfahren, das mir dabei behilflich sein könnte?<br />
Welches Vorgehen würdet ihr wählen?</p>
<p>Gruß,<br />
Andy</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/279846/benötigter-speicherplatz-eines-objektes</link><generator>RSS for Node</generator><lastBuildDate>Mon, 24 Aug 2026 09:03:48 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/279846.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 04 Jan 2011 20:30:01 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Benötigter Speicherplatz eines Objektes on Tue, 04 Jan 2011 20:30:01 GMT]]></title><description><![CDATA[<p>Ich möchte gerne wissen, wieviel Speicherplatz ein Objekt, das ich<br />
erzeuge anfordert.</p>
<p>Als mir geht es nicht darum das sizeof zu ermitteln, sondern auch eventuelle<br />
weitere Speicheranforderungen innerhalb des Konstruktors.</p>
<p>Gibt es irgendein Verfahren, das mir dabei behilflich sein könnte?<br />
Welches Vorgehen würdet ihr wählen?</p>
<p>Gruß,<br />
Andy</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2002428</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2002428</guid><dc:creator><![CDATA[Andy23]]></dc:creator><pubDate>Tue, 04 Jan 2011 20:30:01 GMT</pubDate></item><item><title><![CDATA[Reply to Benötigter Speicherplatz eines Objektes on Tue, 04 Jan 2011 20:36:52 GMT]]></title><description><![CDATA[<p>Was denkst du wie viel Speicherplatz ein von dir erstelltes Objekt einnimmt?</p>
<p>Da kann man nur sagen kommt auf dein Objekt an. Schau mal auf die Membervariablen des Objektes, diese haben bekanntlich jeweils eine Größe. Zusätzlich kommen bei Vererbung noch virtual tabels. Nur so als Tipp.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2002431</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2002431</guid><dc:creator><![CDATA[HighLigerBiMBam]]></dc:creator><pubDate>Tue, 04 Jan 2011 20:36:52 GMT</pubDate></item><item><title><![CDATA[Reply to Benötigter Speicherplatz eines Objektes on Tue, 04 Jan 2011 20:42:15 GMT]]></title><description><![CDATA[<p>Andy23 schrieb:</p>
<blockquote>
<p>Als mir geht es nicht darum das sizeof zu ermitteln, sondern auch eventuelle weitere Speicheranforderungen innerhalb des Konstruktors.</p>
</blockquote>
<p>Geht im allgemeinsten Fall entweder über manuelles loggen (schlecht), eine kleine Modifikation in der Speicherverwaltung (schon besser) oder über einen Profiler (nimm das).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2002434</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2002434</guid><dc:creator><![CDATA[PROFI-ler]]></dc:creator><pubDate>Tue, 04 Jan 2011 20:42:15 GMT</pubDate></item><item><title><![CDATA[Reply to Benötigter Speicherplatz eines Objektes on Wed, 05 Jan 2011 06:18:05 GMT]]></title><description><![CDATA[<p>Danke euch beiden!</p>
<p>HighLigerBiMBam schrieb:</p>
<blockquote>
<p>Was denkst du wie viel Speicherplatz ein von dir erstelltes Objekt einnimmt?</p>
</blockquote>
<p>Wenn ich es wüßte, würde ich es nicht fragen...</p>
<p>HighLigerBiMBam schrieb:</p>
<blockquote>
<p>Da kann man nur sagen kommt auf dein Objekt an.</p>
</blockquote>
<p>Andy23 schrieb:</p>
<blockquote>
<p>Ich möchte gerne wissen, wieviel Speicherplatz ein Objekt, das ich<br />
erzeuge anfordert.</p>
</blockquote>
<p>Ansonsten hätte ich ja nach der Größe eines Objekttypen gefragt <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>
<p>HighLigerBiMBam schrieb:</p>
<blockquote>
<p>Schau mal auf die Membervariablen des Objektes, diese haben bekanntlich jeweils eine Größe. Zusätzlich kommen bei Vererbung noch virtual tabels. Nur so als Tipp.</p>
</blockquote>
<p>Diese sind ja (abgesehen von alignment) afaik äquivalent zu sizeof. Sobald für einen Zeiger intern dynamisch neuer Speicher angefordert, hat man damit verloren.</p>
<p>PROFI-ler schrieb:</p>
<blockquote>
<p>Geht im allgemeinsten Fall entweder über manuelles loggen (schlecht),</p>
</blockquote>
<p>Wie willst das loggen (ohne 'Veränderung' der Speicherverwaltung)?</p>
<p>PROFI-ler schrieb:</p>
<blockquote>
<p>eine kleine Modifikation in der Speicherverwaltung (schon besser)</p>
</blockquote>
<p>Daran hab ich auch schon gedacht. Könnte mit multithreading allerdings umfangreicher werden</p>
<p>PROFI-ler schrieb:</p>
<blockquote>
<p>oder über einen Profiler (nimm das).</p>
</blockquote>
<p>Ich werd mal kucken, ob Valgrind mir behilflich wird! gprof scheint bei multithreading überfordert.</p>
<p>Gruß &amp; Danke,<br />
Andy</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2002506</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2002506</guid><dc:creator><![CDATA[Andy23]]></dc:creator><pubDate>Wed, 05 Jan 2011 06:18:05 GMT</pubDate></item><item><title><![CDATA[Reply to Benötigter Speicherplatz eines Objektes on Wed, 05 Jan 2011 06:26:44 GMT]]></title><description><![CDATA[<p>Hi Andy32,</p>
<p>ich sehe nicht, warum du sizeof nicht verwenden kannst/willst. Das hat mir bislang in allen Fällen gut weitergeholfen.</p>
<p>Andy23 schrieb:</p>
<blockquote>
<p>...</p>
<p>Andy23 schrieb:</p>
<blockquote>
<p>Ich möchte gerne wissen, wieviel Speicherplatz ein Objekt, das ich<br />
erzeuge anfordert.</p>
</blockquote>
<p>Ansonsten hätte ich ja nach der Größe eines Objekttypen gefragt ;)...</p>
</blockquote>
<p>Nach meiner Ansicht ist das dasselbe ( <code>sizeof(int) == sizeof(3)</code> - auch für nichtprimitive Typen).</p>
<p>Andy23 schrieb:</p>
<blockquote>
<p>...<br />
Diese sind ja (abgesehen von alignment) afaik äquivalent zu sizeof. Sobald für einen Zeiger intern dynamisch neuer Speicher angefordert, hat man damit verloren.</p>
</blockquote>
<p>Auch hier verstehe ich nicht, was an einem mit new erzeugten Objekt &quot;größentechnisch&quot; anders sein soll als an einem auto-Objekt...</p>
<p>Insgesamt weiß ich nicht, ob ich einfach nicht verstehe, was du brauchst oder du noch irgendwo einen Denkfehler machst.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2002507</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2002507</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Wed, 05 Jan 2011 06:26:44 GMT</pubDate></item><item><title><![CDATA[Reply to Benötigter Speicherplatz eines Objektes on Wed, 05 Jan 2011 06:43:49 GMT]]></title><description><![CDATA[<p>Andy23 schrieb:</p>
<blockquote>
<p>Ich möchte gerne wissen, wieviel Speicherplatz ein Objekt, das ich<br />
erzeuge anfordert.</p>
</blockquote>
<p>Wozu?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2002510</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2002510</guid><dc:creator><![CDATA[fdgdfdhg]]></dc:creator><pubDate>Wed, 05 Jan 2011 06:43:49 GMT</pubDate></item><item><title><![CDATA[Reply to Benötigter Speicherplatz eines Objektes on Wed, 05 Jan 2011 09:50:50 GMT]]></title><description><![CDATA[<p>Simon2 schrieb:</p>
<blockquote>
<p>ich sehe nicht, warum du sizeof nicht verwenden kannst/willst.</p>
</blockquote>
<p>Weil</p>
<blockquote>
<p>auch eventuelle<br />
weitere Speicheranforderungen innerhalb des Konstruktors.</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/2002549</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2002549</guid><dc:creator><![CDATA[Jockelx]]></dc:creator><pubDate>Wed, 05 Jan 2011 09:50:50 GMT</pubDate></item><item><title><![CDATA[Reply to Benötigter Speicherplatz eines Objektes on Wed, 05 Jan 2011 09:59:37 GMT]]></title><description><![CDATA[<p>sizeof(Object)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2002550</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2002550</guid><dc:creator><![CDATA[Samyboy]]></dc:creator><pubDate>Wed, 05 Jan 2011 09:59:37 GMT</pubDate></item><item><title><![CDATA[Reply to Benötigter Speicherplatz eines Objektes on Wed, 05 Jan 2011 10:11:38 GMT]]></title><description><![CDATA[<p>Ich kuck mir die Ausgaben jetzt mit einem Profiler an.</p>
<p>Samyboy schrieb:</p>
<blockquote>
<p>sizeof(Object)</p>
</blockquote>
<p><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="👍"
    /> (IRONIE!!!)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2002555</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2002555</guid><dc:creator><![CDATA[Andy23]]></dc:creator><pubDate>Wed, 05 Jan 2011 10:11:38 GMT</pubDate></item><item><title><![CDATA[Reply to Benötigter Speicherplatz eines Objektes on Wed, 05 Jan 2011 17:50:09 GMT]]></title><description><![CDATA[<p>Jockelx schrieb:</p>
<blockquote>
<p>Simon2 schrieb:</p>
<blockquote>
<p>ich sehe nicht, warum du sizeof nicht verwenden kannst/willst.</p>
</blockquote>
<p>Weil</p>
<blockquote>
<p>auch eventuelle<br />
weitere Speicheranforderungen innerhalb des Konstruktors.</p>
</blockquote>
</blockquote>
<p>Welche &quot;... eventuelle weitere Speicheranforderungen innerhalb des Konstruktors ...&quot; können denn nicht mittels sizeof() ermittelt werden?</p>
<p>......</p>
<p>Ah - vermutlich geht es darum, dass man ein Objekt erzeugt, das<br />
a) seinerseits wiederum dynamisch Speicherplatz anfordert und<br />
b) das man nicht seinerseits zum Mitprotokollieren dieser Aktivitäten bringen kann/möchte.<br />
Stimmt's?</p>
<p>OK - das wäre tatsächlich nichttrivial ... zumal IMHO gar nicht unbedingt klar ist, was dann noch unter &quot;Speicherplatz des Objekts&quot; fällt und was nicht.<br />
Beispiel:</p>
<pre><code class="language-cpp">struct A {
  char* ac;
  A(size_t i) : ac(new char[i]) {} // würde man wohl zu &quot;Speicherplatz des Objektes&quot; zählen
  void f(size_t i) {
    vector&lt;int&gt; v(i); // das auch noch?
    b B; // Wenn B nun seinerseits noch tief im Bauch dynamisch Speicher alloziert ... auch?
   ...
   }
   static char ac_Static[200]; // das hier?
   static void f_static() { vector&lt;int&gt; v; // das hier?
   }
...
</code></pre>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2002829</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2002829</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Wed, 05 Jan 2011 17:50:09 GMT</pubDate></item></channel></rss>