<?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[eine frage zum casting]]></title><description><![CDATA[<p>Hallo,<br />
ich wollte Fragen ob es irgendwie möglich ist ein Array in eine Instanz einer Struktur zu casten (das Array ist natürlich genauso groß wie die Struktur).</p>
<p>z.B. bei:</p>
<pre><code class="language-cpp">struct eine_struktur
{
uint32_t _1;
uint32_t _2;
};

uint8_t arr[8];
</code></pre>
<p>ist es möglich &quot;arr&quot; in &quot;eine_struktur&quot; umzuwandeln?</p>
<p>Vielen Dank im Voraus <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/293086/eine-frage-zum-casting</link><generator>RSS for Node</generator><lastBuildDate>Sun, 16 Aug 2026 13:10:27 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/293086.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 25 Sep 2011 13:16:31 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to eine frage zum casting on Sun, 25 Sep 2011 13:16:31 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich wollte Fragen ob es irgendwie möglich ist ein Array in eine Instanz einer Struktur zu casten (das Array ist natürlich genauso groß wie die Struktur).</p>
<p>z.B. bei:</p>
<pre><code class="language-cpp">struct eine_struktur
{
uint32_t _1;
uint32_t _2;
};

uint8_t arr[8];
</code></pre>
<p>ist es möglich &quot;arr&quot; in &quot;eine_struktur&quot; umzuwandeln?</p>
<p>Vielen Dank im Voraus <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2123479</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2123479</guid><dc:creator><![CDATA[c0ff33.alex]]></dc:creator><pubDate>Sun, 25 Sep 2011 13:16:31 GMT</pubDate></item><item><title><![CDATA[Reply to eine frage zum casting on Sun, 25 Sep 2011 13:20:50 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">eine_struktur s = *reinterpret_cast&lt;eine_struktur*&gt;(arr);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2123481</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2123481</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Sun, 25 Sep 2011 13:20:50 GMT</pubDate></item><item><title><![CDATA[Reply to eine frage zum casting on Sun, 25 Sep 2011 13:28:35 GMT]]></title><description><![CDATA[<p>Ok, danke für die schnelle Antwort <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> ,<br />
es hat funktioniert. Das Thema kann nun geschlossen werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2123487</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2123487</guid><dc:creator><![CDATA[c0ff33.alex]]></dc:creator><pubDate>Sun, 25 Sep 2011 13:28:35 GMT</pubDate></item><item><title><![CDATA[Reply to eine frage zum casting on Sun, 25 Sep 2011 13:35:17 GMT]]></title><description><![CDATA[<p>Eine Union könnte auch ne gute Idee sein, je nach Design.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2123488</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2123488</guid><dc:creator><![CDATA[Ethon]]></dc:creator><pubDate>Sun, 25 Sep 2011 13:35:17 GMT</pubDate></item><item><title><![CDATA[Reply to eine frage zum casting on Sun, 25 Sep 2011 16:03:12 GMT]]></title><description><![CDATA[<p>314159265358979 schrieb:</p>
<blockquote>
<pre><code class="language-cpp">eine_struktur s = *reinterpret_cast&lt;eine_struktur*&gt;(arr);
</code></pre>
</blockquote>
<p>Das ist undefiniertes Verhalten, falls die Struktur nicht 8 Bytes groß ist (zum Beispiel wegen Padding).</p>
<p>Ethon schrieb:</p>
<blockquote>
<p>Eine Union könnte auch ne gute Idee sein, je nach Design.</p>
</blockquote>
<p>Und das sowieso.</p>
<p>Also kurze Antwort: Nein. Du kannst aber mit <code>memcpy</code> die beiden Member einzeln aus dem Array kopieren (und umgekehrt).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2123519</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2123519</guid><dc:creator><![CDATA[TyRoXx]]></dc:creator><pubDate>Sun, 25 Sep 2011 16:03:12 GMT</pubDate></item><item><title><![CDATA[Reply to eine frage zum casting on Sun, 25 Sep 2011 18:05:38 GMT]]></title><description><![CDATA[<p>TyRoXx schrieb:</p>
<blockquote>
<p>Also kurze Antwort: Nein. Du kannst aber mit <code>memcpy</code> die beiden Member einzeln aus dem Array kopieren (und umgekehrt).</p>
</blockquote>
<p>Wobei memcpy() mit den selben Problemen zu kämpfen hat wie die alternativen Lösungen (reinterpret_cast und union).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2123557</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2123557</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sun, 25 Sep 2011 18:05:38 GMT</pubDate></item><item><title><![CDATA[Reply to eine frage zum casting on Sun, 25 Sep 2011 18:19:42 GMT]]></title><description><![CDATA[<p>Nö, mempcy ist ne saubere Sache. (Zumindest so sauber wie eben möglich)</p>
<p>Bei reinterpret_cast kann es Probleme mit unpasendem Alignment geben, bei memcpy nicht.</p>
<p>Und bei Unions steht im Standard dass man immer nur den Teil lesen darf der auch zuletzt geschrieben wurde, sonst ist es UB. Also auch nicht das wahre.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2123564</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2123564</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sun, 25 Sep 2011 18:19:42 GMT</pubDate></item><item><title><![CDATA[Reply to eine frage zum casting on Mon, 26 Sep 2011 15:46:55 GMT]]></title><description><![CDATA[<p>ok danke an alle für die tipps<br />
ich schaue mir nachher die variante mit memcpy nochmal an</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2123942</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2123942</guid><dc:creator><![CDATA[c0ff33.alex]]></dc:creator><pubDate>Mon, 26 Sep 2011 15:46:55 GMT</pubDate></item></channel></rss>