<?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[Bit in Pointer speichern]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich will aus Platznot ein Bit eines Pointers verwenden, um einen Zustand darin<br />
zu speichern. Der Pointer wird aber noch gebraucht. IMHO sind Pointer auf<br />
Linux/Windows, 32/64 bit, gerade. Stimmt das immer (und warum)? Dann kann<br />
ich nämlich das niederwertigste Bit des Pointers dazu verwenden.</p>
<p>Wenn schon schmutzig, dann wenigstens sauber. Wie würde man den Pointer ent-<br />
sprechend umbiegen? ptr=ptr|1 geht nicht. Static Cast nach unsigned long, dann<br />
+1, dann static cast in den ursprünglichen Typ?</p>
<p>Danke,</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/282119/bit-in-pointer-speichern</link><generator>RSS for Node</generator><lastBuildDate>Sun, 23 Aug 2026 09:37:58 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/282119.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 14 Feb 2011 10:15:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Bit in Pointer speichern on Mon, 14 Feb 2011 10:15:58 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich will aus Platznot ein Bit eines Pointers verwenden, um einen Zustand darin<br />
zu speichern. Der Pointer wird aber noch gebraucht. IMHO sind Pointer auf<br />
Linux/Windows, 32/64 bit, gerade. Stimmt das immer (und warum)? Dann kann<br />
ich nämlich das niederwertigste Bit des Pointers dazu verwenden.</p>
<p>Wenn schon schmutzig, dann wenigstens sauber. Wie würde man den Pointer ent-<br />
sprechend umbiegen? ptr=ptr|1 geht nicht. Static Cast nach unsigned long, dann<br />
+1, dann static cast in den ursprünglichen Typ?</p>
<p>Danke,</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2020733</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2020733</guid><dc:creator><![CDATA[ptr1]]></dc:creator><pubDate>Mon, 14 Feb 2011 10:15:58 GMT</pubDate></item><item><title><![CDATA[Reply to Bit in Pointer speichern on Mon, 14 Feb 2011 10:28:06 GMT]]></title><description><![CDATA[<p>ptr1 schrieb:</p>
<blockquote>
<p>Ich will aus Platznot ein Bit eines Pointers verwenden</p>
</blockquote>
<p>Aha. Unter Linux und Windows zu wenig Speicherplatz...</p>
<blockquote>
<p>, um einen Zustand darin<br />
zu speichern. Der Pointer wird aber noch gebraucht.</p>
</blockquote>
<p>Und wo merkst du dir, ob in dem Bit das du geändert hast eine 0 oder eine 1 war?</p>
<blockquote>
<p>IMHO sind Pointer auf<br />
Linux/Windows, 32/64 bit, gerade. Stimmt das immer (und warum)?</p>
</blockquote>
<p>Wenn du damit meinst, dass sie auf 64-Bit Win/Linux 64 Bit groß sind und auf 32-Bit Win/Linux 32, dann: Ja. Und darum. Ist eben einfach so.</p>
<p>Wenn du damit meinst auf Linux 32 Bit, auf Windows 64 Bit, dann nein.</p>
<blockquote>
<p>Dann kann<br />
ich nämlich das niederwertigste Bit des Pointers dazu verwenden.</p>
</blockquote>
<p>Wieso gerade dieses?</p>
<blockquote>
<p>Wenn schon schmutzig, dann wenigstens sauber.</p>
</blockquote>
<p>Soso <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<blockquote>
<p>Wie würde man den Pointer ent-<br />
sprechend umbiegen? ptr=ptr|1 geht nicht. Static Cast nach unsigned long, dann<br />
+1, dann static cast in den ursprünglichen Typ?</p>
</blockquote>
<p>Da muss man sogar mit reinterpret_cast ran. Das ist die Art und Weise des Compilers, zu sagen, dass du da Mist baust. Der Compiler drück sich nämlich sehr direkt aus, nicht so subtil sarkastisch wie ich.</p>
<p>Ich weiß jetzt nicht so recht, ob du uns nur verarschen willst oder wirklich so naiv bist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2020734</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2020734</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 14 Feb 2011 10:28:06 GMT</pubDate></item><item><title><![CDATA[Reply to Bit in Pointer speichern on Mon, 14 Feb 2011 10:40:24 GMT]]></title><description><![CDATA[<p>Nicht, das ich das Vorgehen verteidigen will, aber gemeint war wohl eher sowas:</p>
<p>Wegen dem Alignment <em>zeigt</em> ein Pointer auf was gerades.<br />
Zeigt er auf etwas ungerades, dann kann man daraus schliessen, dass da ein Bit per Hand gesetzt wurde.</p>
<p>So hab ich das verstanden. Also machbar aber schwachsinn.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2020735</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2020735</guid><dc:creator><![CDATA[Jockelx]]></dc:creator><pubDate>Mon, 14 Feb 2011 10:40:24 GMT</pubDate></item><item><title><![CDATA[Reply to Bit in Pointer speichern on Mon, 14 Feb 2011 10:43:56 GMT]]></title><description><![CDATA[<p>Jockelx schrieb:</p>
<blockquote>
<p>Wegen dem Alignment <em>zeigt</em> ein Pointer auf was gerades.</p>
</blockquote>
<p>Hö? Das kommt wohl auf den Wert des alignemnts an. Was is mit #pragma pack(1)?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2020736</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2020736</guid><dc:creator><![CDATA[inter2k3]]></dc:creator><pubDate>Mon, 14 Feb 2011 10:43:56 GMT</pubDate></item><item><title><![CDATA[Reply to Bit in Pointer speichern on Mon, 14 Feb 2011 10:45:41 GMT]]></title><description><![CDATA[<p>Allgemein wird das nicht funktionieren, aber das wird er wohl auch nicht vorhaben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2020737</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2020737</guid><dc:creator><![CDATA[Jockelx]]></dc:creator><pubDate>Mon, 14 Feb 2011 10:45:41 GMT</pubDate></item><item><title><![CDATA[Reply to Bit in Pointer speichern on Mon, 14 Feb 2011 10:46:06 GMT]]></title><description><![CDATA[<p>Wenn der Platzmangel so groß ist, dass man schon Bits irgendwo reinschustern muss könnte ich mir gut vorstellen, dass auch das Alignment auf 1 gesetzt wurde um Platz zu sparen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2020738</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2020738</guid><dc:creator><![CDATA[rean]]></dc:creator><pubDate>Mon, 14 Feb 2011 10:46:06 GMT</pubDate></item><item><title><![CDATA[Reply to Bit in Pointer speichern on Mon, 14 Feb 2011 10:48:26 GMT]]></title><description><![CDATA[<blockquote>
<p>IMHO sind Pointer auf<br />
Linux/Windows, 32/64 bit, gerade. Stimmt das immer (und warum)?</p>
</blockquote>
<p>definitiv nicht.<br />
Es gibt zwar meist ein 4 byte alignment, das verhindert aber nicht ungerade Pointer.<br />
Einfaches beispiel zum nachvollziehen:<br />
const char testchar[] = &quot;Test&quot;;</p>
<p>void * p1 = &amp;testchar[0]; p1 wird wohl nicht nur gradzahlig sein<br />
void * p2 = &amp;testchar[1]; Preisfrage: ist p2 auch gradzahlig ???</p>
<p>Ergo: so richtig sicher kannst du Dir nie sein, ob ein ungerader pointer nur durch manipulation zustande kam oder ob er wirklich auf das zeigt auf was er wirklich zeigen soll.</p>
<p>Ganz lustig wird dann sicher, wenn man den speicher ned selber allokiert, sondern allokatoren ans werk laesst. Wer garantiert, das die auch alignment verwenden ? (hoechstwahrscheinlich werden sie es, aber 100% garantiert isses sicher ned)</p>
<p>Ciao ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2020739</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2020739</guid><dc:creator><![CDATA[RHBaum]]></dc:creator><pubDate>Mon, 14 Feb 2011 10:48:26 GMT</pubDate></item><item><title><![CDATA[Reply to Bit in Pointer speichern on Mon, 14 Feb 2011 10:48:13 GMT]]></title><description><![CDATA[<p>Jockelx schrieb:</p>
<blockquote>
<p>Nicht, das ich das Vorgehen verteidigen will, aber gemeint war wohl eher sowas:</p>
<p>Wegen dem Alignment <em>zeigt</em> ein Pointer auf was gerades.<br />
Zeigt er auf etwas ungerades, dann kann man daraus schliessen, dass da ein Bit per Hand gesetzt wurde.</p>
<p>So hab ich das verstanden. Also machbar aber schwachsinn.</p>
</blockquote>
<p>Ja, so ist das gemeint. Die Frage war, ob das sicher ist, was bei Geradzahligkeit<br />
gegeben sein sollte. Schwachsinn, warum?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2020740</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2020740</guid><dc:creator><![CDATA[geom]]></dc:creator><pubDate>Mon, 14 Feb 2011 10:48:13 GMT</pubDate></item><item><title><![CDATA[Reply to Bit in Pointer speichern on Mon, 14 Feb 2011 10:56:19 GMT]]></title><description><![CDATA[<p>Wirklich saubere Lösung gibts da eigentlich nur eine: statt eines Pointers nen Index in ein Array verwenden. Dann kann man selbst kontrollieren wie gross der Index maximal werden kann, und alle unbenutzten Bits für etwas anderes verwenden.</p>
<p>(Muss natürlich nicht ein Index in ein flaches Array sein, gibt ja noch Maps und B-Bäume und was nicht noch alles)</p>
<p>Alles andere ist ein mehr oder weniger schlimmer Hack.</p>
<p>p.S.: wenn der Typ auf den so ein Zeiger zeigt halbwegs gross ist, dann hat man sehr gute Chancen dass alignof(T) grösser 1 ist, und eine Zweierpotenz (also gerade). Wenn man dann nirgends pfuscht, heisst das auch, dass alle Zeiger die auf so einen Typ zeigen einen geraden Wert haben.</p>
<p>Ich würde es allerdings nicht machen wollen. Der Trick ist alt und wurde oft eingesetzt, und viele sind damit früher oder später auf die Schnauze gefallen. Wäre mir einfach zu riskant.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2020741</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2020741</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Mon, 14 Feb 2011 10:56:19 GMT</pubDate></item><item><title><![CDATA[Reply to Bit in Pointer speichern on Mon, 14 Feb 2011 11:00:00 GMT]]></title><description><![CDATA[<blockquote>
<p>Schwachsinn, warum?</p>
</blockquote>
<p>- gefaehrlich<br />
- sehr ungewoehnlich, selbst wenns funktioniert. Damit überraschender / unüblicher Code -&gt; schwer wartbar.</p>
<p>und für was ?<br />
Auf welchen System hat man so speichernot ? wenn ich mir anschaue was allein durchs Alignment verschenkt werden kann, dann waeren 8 statt 4 byte pro Pointer nur ein relativ geringes Übel <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>
<p>Dann waer vielleicht ne Option, nen 16bit compiler rauszukramen und das prog als &quot;small&quot; zu compilieren, dann haben pointer nur 2 byte verbrauch. Nachteil, man müsste extra ne 16bit runtime für starten <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="🙂"
    /> Oder den rechner mit dieser speichernot ned eh nur im realmode unter Dos/irgendwa anderes mit 16bit laufen lassen <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="🙂"
    /> Ne GUI bei dem speichermangel ist doch eh nen no go <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>
<p>Ciao ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2020742</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2020742</guid><dc:creator><![CDATA[RHBaum]]></dc:creator><pubDate>Mon, 14 Feb 2011 11:00:00 GMT</pubDate></item><item><title><![CDATA[Reply to Bit in Pointer speichern on Mon, 14 Feb 2011 10:57:10 GMT]]></title><description><![CDATA[<p>RHBaum schrieb:</p>
<blockquote>
<p>void * p1 = &amp;testchar[0]; p1 wird wohl nicht nur gradzahlig sein<br />
void * p2 = &amp;testchar[1]; Preisfrage: ist p2 auch gradzahlig ???</p>
</blockquote>
<p>Hat mit der Frage nichts zu tun.</p>
<p>geom schrieb:</p>
<blockquote>
<p>Schwachsinn, warum?</p>
</blockquote>
<p>Wurde doch schon beantwortet. Oder nochmal gefragt:<br />
Warum hast du unter Linux und Windows zu wenig Speicherplatz, um auf sowas zurückgreifen zu müssen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2020744</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2020744</guid><dc:creator><![CDATA[Jockelx]]></dc:creator><pubDate>Mon, 14 Feb 2011 10:57:10 GMT</pubDate></item><item><title><![CDATA[Reply to Bit in Pointer speichern on Mon, 14 Feb 2011 11:42:03 GMT]]></title><description><![CDATA[<p>(Erstmal sorry, den Originalpost habe ich als Unregistrierter gemacht. Hatte<br />
die Userdaten nicht gleich bei der Hand..)</p>
<p>Es handelt sich um eine Datenstruktur, die aus kleinen Objekten, die Pointer<br />
enthalten, gebildet wird. Für diese Objekte wird ein Zustand benötigt. Da<br />
nahezu der ganze Speicherbedarf sich auf diese kleinen Objekte bezieht - je<br />
nach Datensatz können das mehrere GB sein - wäre ein Overhead dort gleich<br />
dem Overhead des gesamten Speicherbedarfs.</p>
<p>Lösung 1: Verwende ein Set. Das kostet Zeit.<br />
Lösung 2: Verwende einen bool im Objekt. Das kostet durch das Alignment<br />
mehrere Bytes statt einem einzigen Bit.<br />
Lösung 3: Mache einen der Pointer ungerade, um den Zustand als gesetzt zu<br />
markieren. Häßlich.</p>
<p>Jede Lösung weist Nachteile auf. Da nur ein kurzer Abschnitt des Algorithmus<br />
betroffen ist, scheint mir die Häßlichkeit von Lösung drei akzeptabel, sofern<br />
die Möglichkeit, das _sicher_ zu machen, gegeben ist.</p>
<p>lg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2020756</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2020756</guid><dc:creator><![CDATA[geom]]></dc:creator><pubDate>Mon, 14 Feb 2011 11:42:03 GMT</pubDate></item><item><title><![CDATA[Reply to Bit in Pointer speichern on Mon, 14 Feb 2011 11:49:13 GMT]]></title><description><![CDATA[<p>geom schrieb:</p>
<blockquote>
<p>Lösung 1: Verwende ein Set. Das kostet Zeit.</p>
</blockquote>
<p>Und das umbiegen und rumcasten von Zeigern kostet keine Zeit?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2020759</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2020759</guid><dc:creator><![CDATA[loks]]></dc:creator><pubDate>Mon, 14 Feb 2011 11:49:13 GMT</pubDate></item><item><title><![CDATA[Reply to Bit in Pointer speichern on Mon, 14 Feb 2011 11:51:59 GMT]]></title><description><![CDATA[<p>Falls deine Objekte z.B. in einem Array liegen und sich deren Indizes nicht oder nachvollziehbar ändern könntest du parallel dazu eine bitlist mit deinen Zuständen anlegen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2020760</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2020760</guid><dc:creator><![CDATA[rean]]></dc:creator><pubDate>Mon, 14 Feb 2011 11:51:59 GMT</pubDate></item><item><title><![CDATA[Reply to Bit in Pointer speichern on Mon, 14 Feb 2011 14:07:41 GMT]]></title><description><![CDATA[<p>Etwa so?</p>
<pre><code class="language-cpp">template &lt;typename T&gt;
class hellPtr
{
	T* ptr_;
public:
	hellPtr():ptr_(0){};
	hellPtr(T* ptr):ptr_(ptr){};
	T* operator -&gt;(){return (T*)((unsigned int)ptr_ &amp; 0xFFFFFFFE);};
	T&amp; operator *(){return *((T*)((unsigned int)ptr_ &amp; 0xFFFFFFFE));};
	void operator=(T* ptr){ptr_=ptr;};
	operator T*(){return (T*)((unsigned int)ptr_ &amp; 0xFFFFFFFE);};
	bool getflag(){return (bool)((unsigned int)ptr_ &amp; 1L);};
	void setflag(bool b){if(b) ptr_=(T*)((unsigned int)ptr_ | 1L); else ptr_=(T*)((unsigned int)ptr_ &amp; 0xFFFFFFFE);};
};
</code></pre>
<p>Ist jetzt hart für 32 Bit, funktioniert aber (soweit meine Tests gingen).</p>
<p>Ich würde aber auch eher abraten...</p>
<p>~Lecker! - Braten <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    />~</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2020809</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2020809</guid><dc:creator><![CDATA[Caligulaminus]]></dc:creator><pubDate>Mon, 14 Feb 2011 14:07:41 GMT</pubDate></item><item><title><![CDATA[Reply to Bit in Pointer speichern on Mon, 14 Feb 2011 14:32:20 GMT]]></title><description><![CDATA[<p>Caligulaminus schrieb:</p>
<blockquote>
<p>Etwa so?</p>
<pre><code class="language-cpp">template &lt;typename T&gt;
class hellPtr
{
	T* ptr_;
public:
	hellPtr():ptr_(0){};
	hellPtr(T* ptr):ptr_(ptr){};
	T* operator -&gt;(){return (T*)((unsigned int)ptr_ &amp; 0xFFFFFFFE);};
	T&amp; operator *(){return *((T*)((unsigned int)ptr_ &amp; 0xFFFFFFFE));};
	void operator=(T* ptr){ptr_=ptr;};
	operator T*(){return (T*)((unsigned int)ptr_ &amp; 0xFFFFFFFE);};
	bool getflag(){return (bool)((unsigned int)ptr_ &amp; 1L);};
	void setflag(bool b){if(b) ptr_=(T*)((unsigned int)ptr_ | 1L); else ptr_=(T*)((unsigned int)ptr_ &amp; 0xFFFFFFFE);};
};
</code></pre>
<p>Ist jetzt hart für 32 Bit, funktioniert aber (soweit meine Tests gingen).</p>
<p>Ich würde aber auch eher abraten...</p>
<p>~Lecker! - Braten <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    />~</p>
</blockquote>
<p>Oh, ein Smart-Pointer aus der Hölle <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="🙂"
    /> Gute Idee.</p>
<p>Ich habe gerade die Alternativen getestet: Die Lösung mit dem bool, der<br />
Speicher kostet, braucht 5.1s. Eine Lösung mit einem STL set braucht 70s,<br />
und ein unordered_set etwa gleich lange. Indexlösungen schätze ich wegen<br />
der indirekten Adressierung etwas teurer als die Lösung mit dem bool, das<br />
wäre noch zu testen.</p>
<p>lg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2020821</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2020821</guid><dc:creator><![CDATA[geom]]></dc:creator><pubDate>Mon, 14 Feb 2011 14:32:20 GMT</pubDate></item><item><title><![CDATA[Reply to Bit in Pointer speichern on Mon, 14 Feb 2011 14:47:47 GMT]]></title><description><![CDATA[<p>Wieso gerade std::set?</p>
<p>Kannst du nicht std::vector verwenden?<br />
Statt Zeigern einfach Indexe speichern, und alle Objekte in den Vektor stopfen. Könnte leicht sein dass dadurch sogar alles schneller wird und auch weniger RAM braucht.</p>
<p>Vielleicht beschreibst du mal genauer was das für ne Datenstruktur ist (also vom logischen her, nicht wie du es jetzt genau umgesetzt hast). Sonst können wir auch nur raten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2020829</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2020829</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Mon, 14 Feb 2011 14:47:47 GMT</pubDate></item><item><title><![CDATA[Reply to Bit in Pointer speichern on Mon, 14 Feb 2011 16:23:17 GMT]]></title><description><![CDATA[<p>Jockelx schrieb:</p>
<blockquote>
<p>Wegen dem Alignment <em>zeigt</em> ein Pointer auf was gerades.<br />
Zeigt er auf etwas ungerades, dann kann man daraus schliessen, dass da ein Bit per Hand gesetzt wurde.</p>
<p>So hab ich das verstanden. Also machbar aber schwachsinn.</p>
</blockquote>
<p>Das funktioniert und höre ich nicht zum ersten mal.</p>
<p>Setzt natürlich viele Annahmen voraus, die man checken sollte, wenn ein neues Objekt erzeugt wird.</p>
<p>Prinzipiell gilt: Macht es genauso, obfuscated den Code noch und ihr habt euern Job sicher. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2020886</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2020886</guid><dc:creator><![CDATA[nurf]]></dc:creator><pubDate>Mon, 14 Feb 2011 16:23:17 GMT</pubDate></item></channel></rss>