<?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[reinterpret_cast]]></title><description><![CDATA[<p>Beispiel:</p>
<pre><code>short var1 = 10, var2 = 0x100;
outFile.write(&quot;Emil Maier&quot;,10);
outFile.write(reinterpret_cast&lt;char*&gt;(&amp;var1),
               sizeof(var1));
outFile.write(reinterpret_cast&lt;char*&gt;(&amp;var2),
               sizeof(var2));
</code></pre>
<p>hier wird Adresse von var1 zu char* gecastet. Was ist das?<br />
hier var1 = 10, Adresse kann 0x2452 sein, dann heisst es 24521 zu '2','4','5','2'<br />
konvertiert.Das Ergebnis sollte aber '0A' sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/126686/reinterpret_cast</link><generator>RSS for Node</generator><lastBuildDate>Mon, 24 Aug 2026 19:56:02 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/126686.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 17 Nov 2005 12:54:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to reinterpret_cast on Thu, 17 Nov 2005 12:54:15 GMT]]></title><description><![CDATA[<p>Beispiel:</p>
<pre><code>short var1 = 10, var2 = 0x100;
outFile.write(&quot;Emil Maier&quot;,10);
outFile.write(reinterpret_cast&lt;char*&gt;(&amp;var1),
               sizeof(var1));
outFile.write(reinterpret_cast&lt;char*&gt;(&amp;var2),
               sizeof(var2));
</code></pre>
<p>hier wird Adresse von var1 zu char* gecastet. Was ist das?<br />
hier var1 = 10, Adresse kann 0x2452 sein, dann heisst es 24521 zu '2','4','5','2'<br />
konvertiert.Das Ergebnis sollte aber '0A' sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/920011</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/920011</guid><dc:creator><![CDATA[netrobot]]></dc:creator><pubDate>Thu, 17 Nov 2005 12:54:15 GMT</pubDate></item><item><title><![CDATA[Reply to reinterpret_cast on Thu, 17 Nov 2005 13:22:15 GMT]]></title><description><![CDATA[<blockquote>
<p>hier wird Adresse von var1 zu char* gecastet. Was ist das?</p>
</blockquote>
<p>Die Adresse von var1 wird in die Adresse eines chars gecastet, sozusagen. Man tut so, als wär an der Adresse von var1 gar kein short gespeichert, sondern ein char.</p>
<blockquote>
<p>hier var1 = 10, Adresse kann 0x2452 sein, dann heisst es 24521 zu '2','4','5','2'</p>
</blockquote>
<p>'2', '4', '5', '2' ist aber kein char-Pointer, sondern soll wohl ein char-Array. So eine Umwandlung findet hier nicht statt (sowas gibts auch gar nicht in der Sprache).</p>
<p>Dein Code führt dazu, dass hintereinander die short-Werte 10 und 256 in eine Datei geschrieben werden. Nehmen wir einen Intel-PC mit sizeof(short)=2 an, dann ist das die Byte-Sequenz 0x0A, 0x00, 0x00, 0x01.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/920054</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/920054</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Thu, 17 Nov 2005 13:22:15 GMT</pubDate></item><item><title><![CDATA[Reply to reinterpret_cast on Thu, 17 Nov 2005 13:31:22 GMT]]></title><description><![CDATA[<blockquote>
<p>Die Adresse von var1 wird in die Adresse eines chars gecastet, sozusagen</p>
</blockquote>
<p>das verstehe ich nicht, damit ist ein temp char erzeugt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/920064</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/920064</guid><dc:creator><![CDATA[netrobot]]></dc:creator><pubDate>Thu, 17 Nov 2005 13:31:22 GMT</pubDate></item><item><title><![CDATA[Reply to reinterpret_cast on Thu, 17 Nov 2005 13:32:23 GMT]]></title><description><![CDATA[<p>Lies dir auch den nachfolgenden Satz durch - damit wird's klarer <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>
]]></description><link>https://www.c-plusplus.net/forum/post/920066</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/920066</guid><dc:creator><![CDATA[CStoll (off)]]></dc:creator><pubDate>Thu, 17 Nov 2005 13:32:23 GMT</pubDate></item><item><title><![CDATA[Reply to reinterpret_cast on Thu, 17 Nov 2005 13:38:50 GMT]]></title><description><![CDATA[<blockquote>
<p>Man tut so, als wär an der Adresse von var1 gar kein short gespeichert, sondern ein char.</p>
</blockquote>
<p>wenn in var1 ein short gespeichert ist, der Inhalt is &quot;0A&quot;,in diese Adresse dürfen nicht 2 chars speichern,nämlich '1' und '0'.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/920082</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/920082</guid><dc:creator><![CDATA[netrobot]]></dc:creator><pubDate>Thu, 17 Nov 2005 13:38:50 GMT</pubDate></item><item><title><![CDATA[Reply to reinterpret_cast on Thu, 17 Nov 2005 13:43:45 GMT]]></title><description><![CDATA[<p>netrobot schrieb:</p>
<blockquote>
<p>wenn in var1 ein short gespeichert ist, der Inhalt is &quot;0A&quot;</p>
</blockquote>
<p>&quot;0A&quot; ist ein String, kein Short. (Ich weiß dass du 0x0A meinst)</p>
<blockquote>
<p>in diese Adresse dürfen nicht 2 chars speichern,nämlich '1' und '0'.</p>
</blockquote>
<p>Den Inhalt dieser Adresse kann man aber auch als 2 chars interpretieren. Was genau herauskommt, ist systemspezifisch. Ein konkretes und dich wahrscheinlich betreffendes Beispiel hatte ich genannt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/920088</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/920088</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Thu, 17 Nov 2005 13:43:45 GMT</pubDate></item><item><title><![CDATA[Reply to reinterpret_cast on Thu, 17 Nov 2005 14:04:39 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

int main()
{
	short x = 10;
	char *bytes = reinterpret_cast&lt;char *&gt;(&amp;x);
	int n = sizeof(short);

	cout &lt;&lt; n &lt;&lt; &quot; Bytes:&quot; &lt;&lt; endl;
	for (int i=0; i&lt;n; ++i)
		cout &lt;&lt; &quot;Byte &quot; &lt;&lt; (i+1) &lt;&lt; &quot;: &quot; &lt;&lt; static_cast&lt;int&gt;(bytes[i]) &lt;&lt; endl;

	cin.get();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/920122</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/920122</guid><dc:creator><![CDATA[schorsch code]]></dc:creator><pubDate>Thu, 17 Nov 2005 14:04:39 GMT</pubDate></item></channel></rss>