<?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[Probleme mit Referenz auf Zeiger...]]></title><description><![CDATA[<p>Hallo...</p>
<p>Ich habe wohl ein Verständnisproblem.<br />
Warum ist Folgendes nicht möglich?</p>
<pre><code class="language-cpp">unsigned char bytes[] = { 2, 5, 9 };
unsigned char* pBytes = bytes;

// cannot convert from 'unsigned char *' to 'const unsigned char *&amp;'
const unsigned char*&amp; bytesRef = pBytes;
</code></pre>
<p>Ich möchte eine Referenz auf einen Zeiger auf konstante unsigned characters.<br />
Lasse ich das const weg oder mache den Zeiger selbst auch konstant, gibt es keine Probleme.</p>
<p>Aber das sollte doch eigentlich hinhauen?<br />
Danke für jegliche Erklärung!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/225455/probleme-mit-referenz-auf-zeiger</link><generator>RSS for Node</generator><lastBuildDate>Thu, 01 Oct 2026 12:04:53 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/225455.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 23 Oct 2008 15:46:47 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Probleme mit Referenz auf Zeiger... on Thu, 23 Oct 2008 15:46:47 GMT]]></title><description><![CDATA[<p>Hallo...</p>
<p>Ich habe wohl ein Verständnisproblem.<br />
Warum ist Folgendes nicht möglich?</p>
<pre><code class="language-cpp">unsigned char bytes[] = { 2, 5, 9 };
unsigned char* pBytes = bytes;

// cannot convert from 'unsigned char *' to 'const unsigned char *&amp;'
const unsigned char*&amp; bytesRef = pBytes;
</code></pre>
<p>Ich möchte eine Referenz auf einen Zeiger auf konstante unsigned characters.<br />
Lasse ich das const weg oder mache den Zeiger selbst auch konstant, gibt es keine Probleme.</p>
<p>Aber das sollte doch eigentlich hinhauen?<br />
Danke für jegliche Erklärung!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1603509</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1603509</guid><dc:creator><![CDATA[Komischer]]></dc:creator><pubDate>Thu, 23 Oct 2008 15:46:47 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Referenz auf Zeiger... on Thu, 23 Oct 2008 15:53:29 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">const unsigned char&amp; bytesRef = *pBytes;
</code></pre>
<p>Das sollte gehen.. grade keinen Compiler zur Hand.<br />
rya.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1603510</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1603510</guid><dc:creator><![CDATA[scorcher24@arbyte]]></dc:creator><pubDate>Thu, 23 Oct 2008 15:53:29 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Referenz auf Zeiger... on Thu, 23 Oct 2008 15:57:40 GMT]]></title><description><![CDATA[<p>Ja, geht, aber...</p>
<p>Komischer schrieb:</p>
<blockquote>
<p>Ich möchte eine Referenz auf einen Zeiger auf konstante unsigned characters.</p>
</blockquote>
<p>Es soll keine Variable erstellt werden, es soll nix dereferenziert werden, einfach eine Referenz auf eine vorhandene Zeigervariable. Dabei sollen aber die Daten nicht veränderbar sein. Warum muss dann der Zeiger auch konstant sein?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1603513</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1603513</guid><dc:creator><![CDATA[Komischer]]></dc:creator><pubDate>Thu, 23 Oct 2008 15:57:40 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Referenz auf Zeiger... on Thu, 23 Oct 2008 16:06:55 GMT]]></title><description><![CDATA[<p>Komischer schrieb:</p>
<blockquote>
<p>Aber das sollte doch eigentlich hinhauen?</p>
</blockquote>
<p>Nein, denn du könntest die Referenz benutzen, um einen Zeiger, der auf nicht-modifizierbare Daten zeigt, zuzuweisen. Anschließend benutzt du pBytes, um die Daten doch zu modifizieren, alles ohne Cast - es würde also ein Loch im Typsystem entstehen.</p>
<pre><code class="language-cpp">unsigned char bytes[] = { 2, 5, 9 };
unsigned char* pBytes = bytes;

const unsigned char*&amp; bytesRef = pBytes; // wir nehmen an das geht.
const char foo[] = &quot;foo&quot;;
bytesRef = foo; // ok
pBytes[0] = 42; // ups, modifiziert das konstante Array
</code></pre>
<p>Das Loch ist nicht da, wenn die Referenz selbst auf eine konstanten Zeiger verweist, dann wäre nämlich die Zuweisung</p>
<pre><code class="language-cpp">bytesRef = foo;
</code></pre>
<p>unmöglich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1603516</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1603516</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Thu, 23 Oct 2008 16:06:55 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Referenz auf Zeiger... on Thu, 23 Oct 2008 16:18:35 GMT]]></title><description><![CDATA[<p>Aber &quot;pBytes[0] = 42;&quot; wäre doch garnicht möglich, weil es ja eine Referenz auf einen Zeiger auf <strong>konstante Daten</strong> ist...</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1603525</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1603525</guid><dc:creator><![CDATA[Komischer]]></dc:creator><pubDate>Thu, 23 Oct 2008 16:18:35 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit Referenz auf Zeiger... on Thu, 23 Oct 2008 16:20:35 GMT]]></title><description><![CDATA[<p>Ohh, da stand pBytes, nicht bytesRef, sorry!<br />
Jetzt verstehe ich, danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1603526</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1603526</guid><dc:creator><![CDATA[Komischer]]></dc:creator><pubDate>Thu, 23 Oct 2008 16:20:35 GMT</pubDate></item></channel></rss>