<?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[cast pointer nach long nach pointer]]></title><description><![CDATA[<p>Hi,</p>
<p>ich habe eine Klasse:</p>
<p>class xyz {irgendetwas};</p>
<p>und folgende Variablen:</p>
<p>xyz *a;<br />
long m;<br />
xyz *b;</p>
<p>das ergebnis solte wie &quot;b = a;&quot; werden, mit der Bedingung,<br />
dass die Adresse von b in m gespeichert wird und anschliesend<br />
aus dem Wert von m wieder eine Adresse gemacht wird und diese<br />
b erhält.</p>
<p>Ich hoffe, man kann mein Problem verstehen.</p>
<p>MfG<br />
Schreck</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/133440/cast-pointer-nach-long-nach-pointer</link><generator>RSS for Node</generator><lastBuildDate>Thu, 27 Aug 2026 21:44:20 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/133440.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 17 Jan 2006 18:57:01 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to cast pointer nach long nach pointer on Tue, 17 Jan 2006 18:57:01 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich habe eine Klasse:</p>
<p>class xyz {irgendetwas};</p>
<p>und folgende Variablen:</p>
<p>xyz *a;<br />
long m;<br />
xyz *b;</p>
<p>das ergebnis solte wie &quot;b = a;&quot; werden, mit der Bedingung,<br />
dass die Adresse von b in m gespeichert wird und anschliesend<br />
aus dem Wert von m wieder eine Adresse gemacht wird und diese<br />
b erhält.</p>
<p>Ich hoffe, man kann mein Problem verstehen.</p>
<p>MfG<br />
Schreck</p>
]]></description><link>https://www.c-plusplus.net/forum/post/969230</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/969230</guid><dc:creator><![CDATA[Schreck]]></dc:creator><pubDate>Tue, 17 Jan 2006 18:57:01 GMT</pubDate></item><item><title><![CDATA[Reply to cast pointer nach long nach pointer on Tue, 17 Jan 2006 19:03:35 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">m = (long)a;
b = (xyz*)m;
</code></pre>
<p>Bei den neuen casts bin ich meist daneben.</p>
<pre><code class="language-cpp">m = reinterpret_cast&lt;long&gt;(a);
b = reinterpret_cast&lt;xyz*&gt;(m);
</code></pre>
<p>Kurt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/969232</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/969232</guid><dc:creator><![CDATA[ZuK]]></dc:creator><pubDate>Tue, 17 Jan 2006 19:03:35 GMT</pubDate></item><item><title><![CDATA[Reply to cast pointer nach long nach pointer on Tue, 17 Jan 2006 19:04:44 GMT]]></title><description><![CDATA[<p>Hallo,<br />
Kannst du das vielleicht näher erläutern?<br />
Soweit ich das verstanden habe, hast du zwei Zeiger vom Typ foo*. Du möchtest nun den zweiten Zeiger dem ersten Zuweisen. Dabei soll aber der Wert des ersten Zeiger s in einer Variable vom Typ long gespeichert werden. Sehe ich das korrekt?</p>
<p>Wenn ja:</p>
<pre><code class="language-cpp">class foo {... };

int main()
{
    foo *obj1, *obj2 = new foo;
    obj1 = obj2;
    long address_of_obj2 = * reinterpret_cast&lt;long*&gt;(obj2); // nicht portabel und meistens sehr unsauber...

    ...
    delete obj2;
};
</code></pre>
<p>Gruß Caipi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/969234</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/969234</guid><dc:creator><![CDATA[Caipi]]></dc:creator><pubDate>Tue, 17 Jan 2006 19:04:44 GMT</pubDate></item><item><title><![CDATA[Reply to cast pointer nach long nach pointer on Tue, 17 Jan 2006 19:19:06 GMT]]></title><description><![CDATA[<p>mein Problem ist, das ich bei Windows mit der Funktion:</p>
<p>SetWindowLong (hWnd, GWL_USERDATA, 12345678);</p>
<p>eine beliebige long im Fenster als Userdata abspeichern kann.</p>
<p>mit GetWindowLong (hWnd, GWL_USERDATA) bekomme ich sie wieder.</p>
<p>jetzt abe ich foldendes gemacht:</p>
<p>gui_window_class <em>gui_window_pointer2 = NULL;<br />
SetWindowLong (hWnd, GWL_USERDATA, reinterpret_cast&lt;long&gt; (gui_window_pointer));<br />
gui_window_pointer2 = reinterpret_cast&lt;gui_window_class</em>&gt; (GetWindowLong (hWnd, GWL_USERDATA));</p>
<p>nur leider ist gui_window_pointer2 immer NULL ???</p>
]]></description><link>https://www.c-plusplus.net/forum/post/969251</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/969251</guid><dc:creator><![CDATA[Schreck]]></dc:creator><pubDate>Tue, 17 Jan 2006 19:19:06 GMT</pubDate></item><item><title><![CDATA[Reply to cast pointer nach long nach pointer on Tue, 17 Jan 2006 19:25:35 GMT]]></title><description><![CDATA[<p>Was erwartest du ?.<br />
Du initialisierst gui_window_pointer2 mit NULL. Dann setzt du ein WindowLong mit dem Wert 0. Wenn du dir den Wert wieder zurückholst und nach Pointer castest bekommst du natürlich wieder NULL.<br />
Kurt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/969256</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/969256</guid><dc:creator><![CDATA[ZuK]]></dc:creator><pubDate>Tue, 17 Jan 2006 19:25:35 GMT</pubDate></item><item><title><![CDATA[Reply to cast pointer nach long nach pointer on Tue, 17 Jan 2006 19:29:18 GMT]]></title><description><![CDATA[<p>nein, einmal ist es gui_window_pointer2 und einmal gui_window_pointer</p>
]]></description><link>https://www.c-plusplus.net/forum/post/969260</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/969260</guid><dc:creator><![CDATA[Schreck]]></dc:creator><pubDate>Tue, 17 Jan 2006 19:29:18 GMT</pubDate></item><item><title><![CDATA[Reply to cast pointer nach long nach pointer on Tue, 17 Jan 2006 19:38:17 GMT]]></title><description><![CDATA[<p>Schreck schrieb:</p>
<blockquote>
<p>nein, einmal ist es gui_window_pointer2 und einmal gui_window_pointer</p>
</blockquote>
<p>Sorry hast ja recht.</p>
<p>Edit: Also am cast liegt's sicher nicht. Ist wahrscheinlich ein Windows-Problem.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/969264</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/969264</guid><dc:creator><![CDATA[ZuK]]></dc:creator><pubDate>Tue, 17 Jan 2006 19:38:17 GMT</pubDate></item><item><title><![CDATA[Reply to cast pointer nach long nach pointer on Tue, 17 Jan 2006 19:59:06 GMT]]></title><description><![CDATA[<p>ZuK schrieb:</p>
<blockquote>
<p>Edit: Also am cast liegt's sicher nicht. Ist wahrscheinlich ein Windows-Problem.</p>
</blockquote>
<p>hab schon an mir gezwifelt ....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/969289</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/969289</guid><dc:creator><![CDATA[Schreck]]></dc:creator><pubDate>Tue, 17 Jan 2006 19:59:06 GMT</pubDate></item></channel></rss>