<?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[Speicherverbrauch von Bitfields]]></title><description><![CDATA[<p>Hallo,</p>
<p>gegeben sei folgendes Code-Fragment:</p>
<pre><code class="language-cpp">enum T { someValue, otherValue, ... }; // maximal 8 Elemente, ohne Wert-Zuordnung

struct S
{
  T   type  :  3;
  int value : 29;
}
</code></pre>
<p>Die spannende Frage ist nun, ob sizeof(S) nur eine Größe von 4<br />
- haben muss<br />
- haben kann/sollte, aber nicht muss<br />
oder ob es unspezifiziert ist<br />
(unter der Annahme 1 Byte = 8 Bits und sizeof(int) == 4).</p>
<p>Ich habe den Standard nun schon an den spannenden Stellen gewälzt (3.9, 9, 9.2, 9.6), aber konnte keinen Anhaltspunkt finden, dass soetwas überhaupt spezifiziert ist.</p>
<p>Kennt jemand die entsprechende Stelle im Standard (falls es soeine überhaupt gibt)?</p>
<p>Vielen Dank &amp; Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/155622/speicherverbrauch-von-bitfields</link><generator>RSS for Node</generator><lastBuildDate>Tue, 08 Sep 2026 14:24:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/155622.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 08 Aug 2006 06:15:34 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Speicherverbrauch von Bitfields on Tue, 08 Aug 2006 06:15:34 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>gegeben sei folgendes Code-Fragment:</p>
<pre><code class="language-cpp">enum T { someValue, otherValue, ... }; // maximal 8 Elemente, ohne Wert-Zuordnung

struct S
{
  T   type  :  3;
  int value : 29;
}
</code></pre>
<p>Die spannende Frage ist nun, ob sizeof(S) nur eine Größe von 4<br />
- haben muss<br />
- haben kann/sollte, aber nicht muss<br />
oder ob es unspezifiziert ist<br />
(unter der Annahme 1 Byte = 8 Bits und sizeof(int) == 4).</p>
<p>Ich habe den Standard nun schon an den spannenden Stellen gewälzt (3.9, 9, 9.2, 9.6), aber konnte keinen Anhaltspunkt finden, dass soetwas überhaupt spezifiziert ist.</p>
<p>Kennt jemand die entsprechende Stelle im Standard (falls es soeine überhaupt gibt)?</p>
<p>Vielen Dank &amp; Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1112685</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1112685</guid><dc:creator><![CDATA[7H3 N4C3R]]></dc:creator><pubDate>Tue, 08 Aug 2006 06:15:34 GMT</pubDate></item><item><title><![CDATA[Reply to Speicherverbrauch von Bitfields on Tue, 08 Aug 2006 06:40:48 GMT]]></title><description><![CDATA[<p>Hallo,<br />
weder Typ noch Größe für die Speicherung von Bitfeldern sind spezifiziert. Insofern kannst du nicht davon ausgehen, dass sizeof(S) auf allen Compilern gleich ist. Ich würde aber mal behaupten, dass sizeof(S) auf jedem 32-bit System mit jedem gängigen Compiler 4 liefert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1112695</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1112695</guid><dc:creator><![CDATA[HumeSikkins]]></dc:creator><pubDate>Tue, 08 Aug 2006 06:40:48 GMT</pubDate></item></channel></rss>