<?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[Arrayauslesung]]></title><description><![CDATA[<p>Hallo</p>
<p>Welcher der beiden Varianten würdet ihr nehmen?</p>
<pre><code class="language-cpp">//1. Variante
void* Array = new char[10];
unsigned char DrittesByte = reinterpret_cast&lt;unsigned char*&gt;(Array)[2];
</code></pre>
<pre><code class="language-cpp">//2. Variante
void* Array = new char[10];
unsigned char DrittesByte = *(reinterpret_cast&lt;unsigned char*&gt;(Array) + 2);
</code></pre>
<p>MfG, EOutOfResources</p>
<p>EDIT: Klammer gefixt</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/284902/arrayauslesung</link><generator>RSS for Node</generator><lastBuildDate>Fri, 21 Aug 2026 06:03:44 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/284902.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 10 Apr 2011 19:46:19 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Arrayauslesung on Mon, 11 Apr 2011 05:26:57 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Welcher der beiden Varianten würdet ihr nehmen?</p>
<pre><code class="language-cpp">//1. Variante
void* Array = new char[10];
unsigned char DrittesByte = reinterpret_cast&lt;unsigned char*&gt;(Array)[2];
</code></pre>
<pre><code class="language-cpp">//2. Variante
void* Array = new char[10];
unsigned char DrittesByte = *(reinterpret_cast&lt;unsigned char*&gt;(Array) + 2);
</code></pre>
<p>MfG, EOutOfResources</p>
<p>EDIT: Klammer gefixt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2047262</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2047262</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Mon, 11 Apr 2011 05:26:57 GMT</pubDate></item><item><title><![CDATA[Reply to Arrayauslesung on Sun, 10 Apr 2011 20:05:18 GMT]]></title><description><![CDATA[<p>Keins von beidem:</p>
<pre><code class="language-cpp">char* Array = new char[s][1][/s][10];
char drittesZeichen = Array[2];
</code></pre>
<p>Warum willst du überhaupt mit void-Zeigern hantieren?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2047265</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2047265</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sun, 10 Apr 2011 20:05:18 GMT</pubDate></item><item><title><![CDATA[Reply to Arrayauslesung on Sun, 10 Apr 2011 19:51:42 GMT]]></title><description><![CDATA[<p>Variante 1.</p>
<p>Die Frage ist eher warum du einen solchen Cast machen musst. Aber ganz pragmatisch würde ich die erste Variante nehmen, weil es imo natürlicher ist zuerst das Array wieder in das umzuwandeln was es eigentlich ist und dann den Zugriff ganz normal zu machen (ggf. den cast in einer eigenen Variable verpackt).</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/10318">@CStoll</a>:<br />
Das würde ich <strong>so</strong> nicht machen (1-&gt;10). ^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2047266</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2047266</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sun, 10 Apr 2011 19:51:42 GMT</pubDate></item><item><title><![CDATA[Reply to Arrayauslesung on Sun, 10 Apr 2011 19:50:40 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>Warum willst du überhaupt mit void-Zeigern hantieren?</p>
</blockquote>
<p>Das ist ein Beispiel. Im echten Code muss es so sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2047267</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2047267</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Sun, 10 Apr 2011 19:50:40 GMT</pubDate></item><item><title><![CDATA[Reply to Arrayauslesung on Sun, 10 Apr 2011 20:04:17 GMT]]></title><description><![CDATA[<p>EOutOfResources schrieb:</p>
<blockquote>
<p>CStoll schrieb:</p>
<blockquote>
<p>Warum willst du überhaupt mit void-Zeigern hantieren?</p>
</blockquote>
<p>Das ist ein Beispiel. Im echten Code muss es so sein.</p>
</blockquote>
<p>Und mit welchem Hintergedanken?</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/18422">@drakon</a>: nun tu doch nicht so, als ob dir noch nie ein Tippfehler passiert ist <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2047276</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2047276</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sun, 10 Apr 2011 20:04:17 GMT</pubDate></item><item><title><![CDATA[Reply to Arrayauslesung on Sun, 10 Apr 2011 20:26:01 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>Und mit welchem Hintergedanken?</p>
</blockquote>
<p>Heterogener Container. Aber meine Frage wurde bis jetzt erst von drakon beantwortet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2047283</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2047283</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Sun, 10 Apr 2011 20:26:01 GMT</pubDate></item><item><title><![CDATA[Reply to Arrayauslesung on Sun, 10 Apr 2011 20:29:47 GMT]]></title><description><![CDATA[<p>boost::any. Hat nebenbei auch noch Kopiersemantiken. void* ist die dümmste Form von Type Erasure.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2047284</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2047284</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Sun, 10 Apr 2011 20:29:47 GMT</pubDate></item><item><title><![CDATA[Reply to Arrayauslesung on Sun, 10 Apr 2011 20:36:34 GMT]]></title><description><![CDATA[<p>314159265358979 schrieb:</p>
<blockquote>
<p>boost::any. Hat nebenbei auch noch Kopiersemantiken. void* ist die dümmste Form von Type Erasure.</p>
</blockquote>
<p>Vielen Dank. Kann niemand ausser drakon meine Frage beantworten?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2047287</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2047287</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Sun, 10 Apr 2011 20:36:34 GMT</pubDate></item><item><title><![CDATA[Reply to Arrayauslesung on Sun, 10 Apr 2011 20:39:29 GMT]]></title><description><![CDATA[<p>Beschreib doch mal die konkrete Situation, wo du so etwas überhaupt benötigt. In den meisten Fällen dürfte es eine bessere Lösung geben als mit void-Zeigern und reinterpret_cast&lt;&gt; zu hantieren.</p>
<p>(und wenn du es doch <em><strong>unbedingt</strong></em> benötigst, sind beide Varianten gleichwertig)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2047288</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2047288</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sun, 10 Apr 2011 20:39:29 GMT</pubDate></item><item><title><![CDATA[Reply to Arrayauslesung on Sun, 10 Apr 2011 21:48:42 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>Beschreib doch mal die konkrete Situation, wo du so etwas überhaupt benötigt. In den meisten Fällen dürfte es eine bessere Lösung geben als mit void-Zeigern und reinterpret_cast&lt;&gt; zu hantieren.</p>
<p>(und wenn du es doch <em><strong>unbedingt</strong></em> benötigst, sind beide Varianten gleichwertig)</p>
</blockquote>
<p>Ist nicht eigentlich static_cast&lt;&gt; der 'richtige' cast für diesen Fall oder kann man laut Standard sowohl reinterpret_cast&lt;&gt; als auch static_cast&lt;&gt; verwenden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2047311</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2047311</guid><dc:creator><![CDATA[XSpille]]></dc:creator><pubDate>Sun, 10 Apr 2011 21:48:42 GMT</pubDate></item><item><title><![CDATA[Reply to Arrayauslesung on Sun, 10 Apr 2011 22:38:46 GMT]]></title><description><![CDATA[<p>EOutOfResources schrieb:</p>
<blockquote>
<p>Kann niemand ausser drakon meine Frage beantworten?</p>
</blockquote>
<p>Ich kann Dir vielleicht sagen, was Du tun solltest, wenn Du sagst, was Du bezwecken willst. Heterogene Container? Und die verwalteten Typen haben gar nichts miteinander zu tun? Kann ich mir nicht vorstellen, wenn's nicht gerade ein Allokator ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2047320</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2047320</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sun, 10 Apr 2011 22:38:46 GMT</pubDate></item><item><title><![CDATA[Reply to Arrayauslesung on Sun, 10 Apr 2011 23:23:40 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/23275">@314159265358979</a>:<br />
Ich glaube nicht dass du mit der Erfahrung die du (kaum) hast qualifiziert bist Aussagen darüber zu treffen welche Form von Type-Erasure schlau oder dumm ist. Mal ganz davon abgesehen dass wir alle (noch) nicht wissen was EOutOfResources wirklich vor hat.</p>
<p>----</p>
<p>EOutOfResources schrieb:</p>
<blockquote>
<p>Kann niemand ausser drakon meine Frage beantworten?</p>
</blockquote>
<p>Variante 1, nur dass ich <code>static_cast</code> statt <code>reinterpret_cast</code> verwenden würde.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2047323</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2047323</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sun, 10 Apr 2011 23:23:40 GMT</pubDate></item><item><title><![CDATA[Reply to Arrayauslesung on Mon, 11 Apr 2011 01:39:20 GMT]]></title><description><![CDATA[<p>würde auch variante 1 bervorzugen und static_cast nehmen.<br />
außerdem ist in variante 2 ne <strong>]</strong> zu viel.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2047324</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2047324</guid><dc:creator><![CDATA[itwasntpete]]></dc:creator><pubDate>Mon, 11 Apr 2011 01:39:20 GMT</pubDate></item><item><title><![CDATA[Reply to Arrayauslesung on Mon, 11 Apr 2011 05:38:46 GMT]]></title><description><![CDATA[<p>OK. Ich schreibe einen heterogenen Container. Der Container an und für sich merkt sich die Typen nicht. Deshalb <code>void*</code> . Jedoch biete ich ein Hilfskonzept an. Wenn zum Beispiel ein <code>int</code> gepusht wird, wird ein Handler zurückgegeben. Dieser Handler kennt den Typ und kann mit der entsprechenden Variable alles tun was er will. Wenn man diese Variable wieder entfernen will, kann man entwerder im Container die Bytes x - y löschen oder man sagt dem Handler einfach, er soll das tun. Und nun, wenn der Handler den <code>int</code> ausgeben soll, dann Caste ich einen bestimmten Teil des Arrays der Containers.</p>
<p>MfG, EOutOfResources</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2047331</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2047331</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Mon, 11 Apr 2011 05:38:46 GMT</pubDate></item><item><title><![CDATA[Reply to Arrayauslesung on Mon, 11 Apr 2011 06:56:01 GMT]]></title><description><![CDATA[<p>Du wirst da Deine Gründe haben, dennoch: Und wozu dieser Container?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2047350</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2047350</guid><dc:creator><![CDATA[Eisflamme]]></dc:creator><pubDate>Mon, 11 Apr 2011 06:56:01 GMT</pubDate></item><item><title><![CDATA[Reply to Arrayauslesung on Mon, 11 Apr 2011 07:17:07 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/23275">@314159265358979</a>:<br />
Ich glaube nicht dass du mit der Erfahrung die du (kaum) hast qualifiziert bist Aussagen darüber zu treffen welche Form von Type-Erasure schlau oder dumm ist.</p>
</blockquote>
<p>Das glaube ich schon <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>
<p>hustbaer schrieb:</p>
<blockquote>
<p>Mal ganz davon abgesehen dass wir alle (noch) nicht wissen was EOutOfResources wirklich vor hat.</p>
</blockquote>
<p>Da hast du Recht, war wohl etwas zu voreilig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2047361</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2047361</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Mon, 11 Apr 2011 07:17:07 GMT</pubDate></item><item><title><![CDATA[Reply to Arrayauslesung on Mon, 11 Apr 2011 10:19:02 GMT]]></title><description><![CDATA[<p>EOutOfResources schrieb:</p>
<blockquote>
<p>OK. Ich schreibe einen heterogenen Container. Der Container an und für sich merkt sich die Typen nicht. Deshalb <code>void*</code> . Jedoch biete ich ein Hilfskonzept an. Wenn zum Beispiel ein <code>int</code> gepusht wird, wird ein Handler zurückgegeben. Dieser Handler kennt den Typ und kann mit der entsprechenden Variable alles tun was er will. Wenn man diese Variable wieder entfernen will, kann man entwerder im Container die Bytes x - y löschen oder man sagt dem Handler einfach, er soll das tun. Und nun, wenn der Handler den <code>int</code> ausgeben soll, dann Caste ich einen bestimmten Teil des Arrays der Containers.</p>
</blockquote>
<p>Und was ist daran jetzt besser, als wenn Du virtuelle Funktionen nehmen würdest?</p>
<p>Außerdem hast Du bei der Beschreibung noch um den heißen Brei geredet. Ist das ein Betriebsgeheimnis? Dann müßte ich hier abbrechen, weil mir die Zeit zu schade ist, Hilfeversuche durch Geheimniskrämerei torpedieren zu lassen. Dafür müßte Geld fließen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2047425</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2047425</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Mon, 11 Apr 2011 10:19:02 GMT</pubDate></item><item><title><![CDATA[Reply to Arrayauslesung on Mon, 11 Apr 2011 10:36:57 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>Und was ist daran jetzt besser, als wenn Du virtuelle Funktionen nehmen würdest?</p>
</blockquote>
<p>Genau wegen Antworten wie diesen will ich nicht sagen, worum es geht. Ich habe beschlossen wie ich es mache. Wenn ich dazu Hilfe brauchen würde, würde ich es sagen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2047435</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2047435</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Mon, 11 Apr 2011 10:36:57 GMT</pubDate></item><item><title><![CDATA[Reply to Arrayauslesung on Mon, 11 Apr 2011 13:07:42 GMT]]></title><description><![CDATA[<p>314159265358979 schrieb:</p>
<blockquote>
<p>hustbaer schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/23275">@314159265358979</a>:<br />
Ich glaube nicht dass du mit der Erfahrung die du (kaum) hast qualifiziert bist Aussagen darüber zu treffen welche Form von Type-Erasure schlau oder dumm ist.</p>
</blockquote>
<p>Das glaube ich schon <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>Das zeigt nur wie sehr du dich überschätzt. <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>
<p>Wie viele Zeilen produktiv eingesetzten Code hast du schon geschrieben?<br />
Wie viele Programme &gt; 10 KLOC von dir hast du &gt; 6 Monate nach fertigstellung schon gewartet?</p>
<p>Und nochwas: das geht auch alles etwas freundlicher. Vonwegen &quot;die dümmste Art&quot; und so.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2047518</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2047518</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Mon, 11 Apr 2011 13:07:42 GMT</pubDate></item><item><title><![CDATA[Reply to Arrayauslesung on Mon, 11 Apr 2011 13:11:03 GMT]]></title><description><![CDATA[<p>EOutOfResources schrieb:</p>
<blockquote>
<p>volkard schrieb:</p>
<blockquote>
<p>Und was ist daran jetzt besser, als wenn Du virtuelle Funktionen nehmen würdest?</p>
</blockquote>
<p>Genau wegen Antworten wie diesen will ich nicht sagen, worum es geht. Ich habe beschlossen wie ich es mache. Wenn ich dazu Hilfe brauchen würde, würde ich es sagen.</p>
</blockquote>
<p>Hihi.<br />
Statistisch gesehen bedeutet das du bist dir im Klaren darüber dass was du vor hast Unsinn ist, willst es aber aus einem bestimmten Grund trotzdem machen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2047519</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2047519</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Mon, 11 Apr 2011 13:11:03 GMT</pubDate></item><item><title><![CDATA[Reply to Arrayauslesung on Mon, 11 Apr 2011 16:15:07 GMT]]></title><description><![CDATA[<p>EOutOfResources schrieb:</p>
<blockquote>
<p>OK. Ich schreibe einen heterogenen Container. ...</p>
</blockquote>
<p>Da dürfte die Frage, wie du die Rohdaten anzusprechen hast, wohl dein kleinstes Problem sein (so etwas ist eine Stilfrage und hat im fertigen Programm keine Auswirkungen). Das geht los mit dem korrekten Alignment der im Container verpackten Objekte und endet bei der Frage, wer nun dafür zuständig ist, die Destruktoren dieser Objekte aufzurufen.</p>
<p>@XPille: Ich hab' nicht angefangen mit den reinterpret_cast's</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2047606</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2047606</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 11 Apr 2011 16:15:07 GMT</pubDate></item><item><title><![CDATA[Reply to Arrayauslesung on Mon, 11 Apr 2011 16:41:51 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>@XPille: Ich hab' nicht angefangen mit den reinterpret_cast's</p>
</blockquote>
<p>Hab ich auch nie behauptet...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2047621</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2047621</guid><dc:creator><![CDATA[XSpille]]></dc:creator><pubDate>Mon, 11 Apr 2011 16:41:51 GMT</pubDate></item></channel></rss>