<?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[Nachimplementierung von Referenzen]]></title><description><![CDATA[<p>Ich will eine &quot;Referenz&quot; nachimplementieren, sprich,<br />
einen Zeiger in einer Zeile deklarieren und definieren.</p>
<pre><code>int main(void)
{
// das will ich machen
// ich weiß es geht nicht.
int *o = &amp;int(8);
// so geht es auch nicht
int *p = &amp;(int(7));
}
</code></pre>
<p>Er gibt mir hier folgenden Fehler aus.</p>
<blockquote>
<blockquote>
<p>&gt; main.cpp: In function 'int main()':<br />
&gt; main.cpp:8:21: error: lvalue required as unary '&amp;' operand<br />
Was meint er damit?<br />
Muss ich dafür einen umweg über eine Lambda-Funktion machen?<br />
Danke schon mal im Vorraus,<br />
schildi48</p>
</blockquote>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/topic/319908/nachimplementierung-von-referenzen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 24 Jul 2026 19:42:53 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/319908.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 08 Sep 2013 14:50:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Nachimplementierung von Referenzen on Sun, 08 Sep 2013 14:50:24 GMT]]></title><description><![CDATA[<p>Ich will eine &quot;Referenz&quot; nachimplementieren, sprich,<br />
einen Zeiger in einer Zeile deklarieren und definieren.</p>
<pre><code>int main(void)
{
// das will ich machen
// ich weiß es geht nicht.
int *o = &amp;int(8);
// so geht es auch nicht
int *p = &amp;(int(7));
}
</code></pre>
<p>Er gibt mir hier folgenden Fehler aus.</p>
<blockquote>
<blockquote>
<p>&gt; main.cpp: In function 'int main()':<br />
&gt; main.cpp:8:21: error: lvalue required as unary '&amp;' operand<br />
Was meint er damit?<br />
Muss ich dafür einen umweg über eine Lambda-Funktion machen?<br />
Danke schon mal im Vorraus,<br />
schildi48</p>
</blockquote>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/2351125</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2351125</guid><dc:creator><![CDATA[schildi48]]></dc:creator><pubDate>Sun, 08 Sep 2013 14:50:24 GMT</pubDate></item><item><title><![CDATA[Reply to Nachimplementierung von Referenzen on Sun, 08 Sep 2013 15:10:55 GMT]]></title><description><![CDATA[<blockquote>
<p>Ich will eine &quot;Referenz&quot; nachimplementieren, sprich,<br />
einen Zeiger in einer Zeile deklarieren und definieren.</p>
</blockquote>
<p>Du meinst wohl, einen Zeiger in einer Zeile definieren und initialisieren.</p>
<p>Das nähste Äquivalent einer Referenz in Zeigerform ist ein konstanter Zeiger.</p>
<pre><code>int* const ptr = ...;
</code></pre>
<p>Aber man kann keine Temporary an einen Zeiger binden wie bei einer <code>const</code> -Referenz, das kannst du von vornherein abhaken.</p>
<p>Die wichtigste Frage im Moment ist jedoch:<br />
<strong>Wofür brauchst du das eigentlich?</strong></p>
<p>Edit³:</p>
<blockquote>
<p>Was meint er damit?</p>
</blockquote>
<p>Dass du nur von einem lvalue die Adresse nehmen kannst. Ich werde jetzt aber nicht erklären, was ein lvalue ist.</p>
<blockquote>
<p>Muss ich dafür einen umweg über eine Lambda-Funktion machen?</p>
</blockquote>
<p>Jetzt bin ich endlos verwirrt. Wie soll denn das helfen? Und wie kommst du darauf?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2351128</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2351128</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Sun, 08 Sep 2013 15:10:55 GMT</pubDate></item><item><title><![CDATA[Reply to Nachimplementierung von Referenzen on Sun, 08 Sep 2013 15:10:37 GMT]]></title><description><![CDATA[<p>schildi48 schrieb:</p>
<blockquote>
<p>Ich will eine &quot;Referenz&quot; nachimplementieren</p>
</blockquote>
<p>Warum, was sollte das bringen?</p>
<p>schildi48 schrieb:</p>
<blockquote>
<pre><code>// das will ich machen
// ich weiß es geht nicht.
int *o = &amp;int(8);
</code></pre>
</blockquote>
<p>Das würde auch keinen Sinn machen. Der Zeiger wäre sofort ungültig, da es sich um ein temporäres Objekt handelt. Darum verweisen sowohl Zeiger als auch Referenzen auf andere Variablen, oder dynamisch angelegte Objekte.</p>
<p>schildi48 schrieb:</p>
<blockquote>
<p>Muss ich dafür einen umweg über eine Lambda-Funktion machen?</p>
</blockquote>
<p>Was haben Lambda-Ausdrücke damit zu tun?</p>
<p>schildi48 schrieb:</p>
<blockquote>
<p>Danke schon mal im v******</p>
</blockquote>
<p>Voraus <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2351129</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2351129</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 08 Sep 2013 15:10:37 GMT</pubDate></item><item><title><![CDATA[Reply to Nachimplementierung von Referenzen on Sun, 08 Sep 2013 22:34:59 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Was haben Lambda-Ausdrücke damit zu tun?</p>
</blockquote>
<pre><code>auto acht = []{return 8;};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2351216</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2351216</guid><dc:creator><![CDATA[nwp3]]></dc:creator><pubDate>Sun, 08 Sep 2013 22:34:59 GMT</pubDate></item><item><title><![CDATA[Reply to Nachimplementierung von Referenzen on Sun, 08 Sep 2013 22:51:52 GMT]]></title><description><![CDATA[<p>Lambdas erlauben es, den Blödsinn formal korrekt aufzuschreiben.</p>
<pre><code class="language-cpp">int *p = [](){int i=8;return &amp;i;}();
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2351218</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2351218</guid><dc:creator><![CDATA[lahmbda]]></dc:creator><pubDate>Sun, 08 Sep 2013 22:51:52 GMT</pubDate></item><item><title><![CDATA[Reply to Nachimplementierung von Referenzen on Mon, 09 Sep 2013 07:29:32 GMT]]></title><description><![CDATA[<p>lahmbda schrieb:</p>
<blockquote>
<p>Lambdas erlauben es, den Blödsinn formal korrekt aufzuschreiben.</p>
<pre><code class="language-cpp">int *p = [](){int i=8;return &amp;i;}();
</code></pre>
</blockquote>
<blockquote>
<p>.&lt; und einer, der so fragt wie der TE, der denkt sich dann auch, dass solcher Code gut ist... <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>An den TE: Übernimm das ja nicht. Das wird knallen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2351244</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2351244</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Mon, 09 Sep 2013 07:29:32 GMT</pubDate></item></channel></rss>