<?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[Einem Objekt eine feste Speicheradresse zuweisen?]]></title><description><![CDATA[<p>Hey Leute,<br />
Ich habe eine Frage bezüglich Speicheradressen und Klassen. Ich habe eine Struktur von einer Klasse in einem Spiel und die Datentypen der Variablen die dort enthalten sind. Ich habe auch die Adresse dieser Klasse. Nun wollte ich wissen ob es möglich ist, einem Objekt von dieser Klasse die Speicheradresse dieser Klasse zuzuweisen, á la</p>
<pre><code class="language-cpp">CStats *stats = new CStats();
stats = 0xFFFFFFF;
</code></pre>
<p>?<br />
Also natürlich nicht so, aber gibt es einen ähnlichen Weg? Denn mir fällt kein anderer Weg ein an die Informationen dieser Klasse zu kommen und diese in meiner DLL weiter zu verwenden. Auf diese Idee bin ich wegen den Funktionszeigern gekommen, denen kann man ja mit der richtigen deklaration auch eine Adresse zuweisen.<br />
Mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/261472/einem-objekt-eine-feste-speicheradresse-zuweisen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 07 Sep 2026 07:28:08 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/261472.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 18 Feb 2010 20:33:01 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Einem Objekt eine feste Speicheradresse zuweisen? on Thu, 18 Feb 2010 20:33:01 GMT]]></title><description><![CDATA[<p>Hey Leute,<br />
Ich habe eine Frage bezüglich Speicheradressen und Klassen. Ich habe eine Struktur von einer Klasse in einem Spiel und die Datentypen der Variablen die dort enthalten sind. Ich habe auch die Adresse dieser Klasse. Nun wollte ich wissen ob es möglich ist, einem Objekt von dieser Klasse die Speicheradresse dieser Klasse zuzuweisen, á la</p>
<pre><code class="language-cpp">CStats *stats = new CStats();
stats = 0xFFFFFFF;
</code></pre>
<p>?<br />
Also natürlich nicht so, aber gibt es einen ähnlichen Weg? Denn mir fällt kein anderer Weg ein an die Informationen dieser Klasse zu kommen und diese in meiner DLL weiter zu verwenden. Auf diese Idee bin ich wegen den Funktionszeigern gekommen, denen kann man ja mit der richtigen deklaration auch eine Adresse zuweisen.<br />
Mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1857874</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1857874</guid><dc:creator><![CDATA[Xdab4yaX]]></dc:creator><pubDate>Thu, 18 Feb 2010 20:33:01 GMT</pubDate></item><item><title><![CDATA[Reply to Einem Objekt eine feste Speicheradresse zuweisen? on Thu, 18 Feb 2010 21:24:34 GMT]]></title><description><![CDATA[<p>Xdab4yaX schrieb:</p>
<blockquote>
<p>Ich habe eine Struktur von einer Klasse</p>
</blockquote>
<p>Wie genau? Ich nehme jetzt einfach mal an, du meinst Klasse.</p>
<p>Xdab4yaX schrieb:</p>
<blockquote>
<p>Ich habe auch die Adresse dieser Klasse.</p>
</blockquote>
<p>Wie soll eine Klasse eine Adresse haben?</p>
<p>Xdab4yaX schrieb:</p>
<blockquote>
<p>Nun wollte ich wissen ob es möglich ist, einem Objekt von dieser Klasse die Speicheradresse dieser Klasse zuzuweisen</p>
</blockquote>
<p>Da ich schon den Anfang nicht verstehe, kann ich dir das nicht beantworten. Aber grundsätzlich kannst du Adressen nicht hardcoden und zuweisen, du kannst höchstens ein Objekt an einer bekannten Adresse konstruieren, deren Speicherplatz dir gehört.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1857905</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1857905</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Thu, 18 Feb 2010 21:24:34 GMT</pubDate></item><item><title><![CDATA[Reply to Einem Objekt eine feste Speicheradresse zuweisen? on Thu, 18 Feb 2010 21:42:45 GMT]]></title><description><![CDATA[<p>Xdab4yaX schrieb:</p>
<blockquote>
<p>Hey Leute,<br />
Ich habe eine Frage bezüglich Speicheradressen und Klassen. Ich habe eine Struktur von einer Klasse in einem Spiel und die Datentypen der Variablen die dort enthalten sind. Ich habe auch die Adresse dieser Klasse. Nun wollte ich wissen ob es möglich ist, einem Objekt von dieser Klasse die Speicheradresse dieser Klasse zuzuweisen, á la</p>
<pre><code class="language-cpp">CStats *stats = new CStats();
stats = 0xFFFFFFF;
</code></pre>
</blockquote>
<p>Nein, das funktioniert nicht. Aber der umgekehrte Weg, also wenn Du die Adresse des Objekts vorher kennst:</p>
<pre><code class="language-cpp">char *stats = new char[sizeof(CStats)];
new (stats) CStats();
</code></pre>
<p>Siehe hier: <a href="http://www.devx.com/tips/Tip/12582" rel="nofollow">http://www.devx.com/tips/Tip/12582</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1857911</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1857911</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 18 Feb 2010 21:42:45 GMT</pubDate></item><item><title><![CDATA[Reply to Einem Objekt eine feste Speicheradresse zuweisen? on Thu, 18 Feb 2010 21:50:24 GMT]]></title><description><![CDATA[<p>oder einfach casten:</p>
<pre><code class="language-cpp">klasse *object = reinterpret_cast&lt;klasse *&gt;(0x12345678);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1857916</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1857916</guid><dc:creator><![CDATA[kekXX]]></dc:creator><pubDate>Thu, 18 Feb 2010 21:50:24 GMT</pubDate></item><item><title><![CDATA[Reply to Einem Objekt eine feste Speicheradresse zuweisen? on Thu, 18 Feb 2010 21:53:14 GMT]]></title><description><![CDATA[<p>Eigentlich sollte genau das funktionieren, auch wenn ich absolut nicht verstehe, wozu das gut sein soll:</p>
<pre><code class="language-cpp">CStats *stats = reinterpret_cast&lt;CStats*&gt;(0xFFFFFFF);
</code></pre>
<p>Beachte, dass hier ein reinterpret_cast nötig ist. Der Compiler sieht nämlich, dass du da Dummheiten vor hast und versucht es zu verhindern. Von daher ist es nötig zum stärksten Cast zu greifen um das von dir gewünschte Verhalten zu erzwingen.</p>
<p>Beschreib mal dein Problem etwas genauer, denn es gibt garantiert eine bessere Lösung als dies.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1857918</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1857918</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 18 Feb 2010 21:53:14 GMT</pubDate></item><item><title><![CDATA[Reply to Einem Objekt eine feste Speicheradresse zuweisen? on Thu, 18 Feb 2010 22:01:09 GMT]]></title><description><![CDATA[<p>Heißt das, du hast eine Klasse die du in einer DLL verwenden willst und weißt die Adresse einer Membervariablen nicht ?</p>
<p>Aber du kannst keine &quot;Fixadressen&quot; verwenden, du must die nehmen, die dir das Betriebssystem zuweist, zmindest habe ich bisher nichts Gegenteiliges gehört <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>Was genau willst du denn in deiner DLL mit der Klasse machen ?<br />
Du könntest einige Membervariablen durch Funktionen zugreifbar machen. Aber wie gesagt, beschreib erstmal dein Problem näher <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/1857922</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1857922</guid><dc:creator><![CDATA[DarkShadow44]]></dc:creator><pubDate>Thu, 18 Feb 2010 22:01:09 GMT</pubDate></item><item><title><![CDATA[Reply to Einem Objekt eine feste Speicheradresse zuweisen? on Thu, 18 Feb 2010 22:04:04 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Eigentlich sollte genau das funktionieren, auch wenn ich absolut nicht verstehe, wozu das gut sein soll:</p>
<pre><code class="language-cpp">CStats *stats = reinterpret_cast&lt;CStats*&gt;(0xFFFFFFF);
</code></pre>
</blockquote>
<p>Es funktioniert syntaktisch, von mir aus auch in Kurzschreibweise</p>
<pre><code class="language-cpp">CStats *stats = (CStats*)0xFFFFFFF;
</code></pre>
<p>Aber es ist Unsinn.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1857927</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1857927</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 18 Feb 2010 22:04:04 GMT</pubDate></item></channel></rss>