<?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[Adresse von temporärem Objekt]]></title><description><![CDATA[<p>Wenn ich eine Vektor-Klasse mit binärem Minus habe:</p>
<pre><code class="language-cpp">D3DXVECTOR3 operator - ( CONST D3DXVECTOR3&amp; ) const;
</code></pre>
<p>kann ich dann problemlos sowas machen?</p>
<pre><code class="language-cpp">D3DXVECTOR3 dir;
D3DXVec3Normalize(&amp;dir, &amp;(at-eye));
</code></pre>
<p>eye und at sind Vektoren. Es wird kompiliert, aber kann das irgendwie krachen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/192382/adresse-von-temporärem-objekt</link><generator>RSS for Node</generator><lastBuildDate>Sun, 27 Sep 2026 10:01:08 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/192382.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 13 Sep 2007 15:54:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Adresse von temporärem Objekt on Thu, 13 Sep 2007 15:54:16 GMT]]></title><description><![CDATA[<p>Wenn ich eine Vektor-Klasse mit binärem Minus habe:</p>
<pre><code class="language-cpp">D3DXVECTOR3 operator - ( CONST D3DXVECTOR3&amp; ) const;
</code></pre>
<p>kann ich dann problemlos sowas machen?</p>
<pre><code class="language-cpp">D3DXVECTOR3 dir;
D3DXVec3Normalize(&amp;dir, &amp;(at-eye));
</code></pre>
<p>eye und at sind Vektoren. Es wird kompiliert, aber kann das irgendwie krachen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1364758</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1364758</guid><dc:creator><![CDATA[Vekt0r]]></dc:creator><pubDate>Thu, 13 Sep 2007 15:54:16 GMT</pubDate></item><item><title><![CDATA[Reply to Adresse von temporärem Objekt on Thu, 13 Sep 2007 16:42:59 GMT]]></title><description><![CDATA[<p>das sollte so funktionieren, da das rückgabeobjekt erst nach der zeile zerstört wird. hübsch ist es trotzdem nicht. erstell dir doch einen passenden zeiger. der ist optisch schöner, sag aus, was du machst und wird vom compiler eh wegoptimiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1364779</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1364779</guid><dc:creator><![CDATA[ghorst]]></dc:creator><pubDate>Thu, 13 Sep 2007 16:42:59 GMT</pubDate></item><item><title><![CDATA[Reply to Adresse von temporärem Objekt on Thu, 13 Sep 2007 16:57:48 GMT]]></title><description><![CDATA[<p>Da der zweite Parameter von D3DXVec3Normalize ein konstanter Zeiger ist, ist dies problemlos möglich. Wäre es ein nicht-konstanter Zeiger, würde zumindest der g++ einen Fehler melden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1364788</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1364788</guid><dc:creator><![CDATA[Theston]]></dc:creator><pubDate>Thu, 13 Sep 2007 16:57:48 GMT</pubDate></item><item><title><![CDATA[Reply to Adresse von temporärem Objekt on Thu, 13 Sep 2007 18:00:10 GMT]]></title><description><![CDATA[<p>Vekt0r schrieb:</p>
<blockquote>
<p>Wenn ich eine Vektor-Klasse mit binärem Minus habe:</p>
<pre><code class="language-cpp">D3DXVECTOR3 operator - ( CONST D3DXVECTOR3&amp; ) const;
</code></pre>
<p>kann ich dann problemlos sowas machen?</p>
<pre><code class="language-cpp">D3DXVECTOR3 dir;
D3DXVec3Normalize(&amp;dir, &amp;(at-eye));
</code></pre>
<p>eye und at sind Vektoren. Es wird kompiliert, aber kann das irgendwie krachen?</p>
</blockquote>
<p>Das sollte nicht compilieren, da der unäre operator&amp; ein lvalue als Operand verlangt (wenn er nicht in dieser Klasse überladen wurde). korrekt wäre:</p>
<pre><code class="language-cpp">D3DXVec3Normalize(&amp;dir, &amp;static_cast&lt;const D3DXVec3Normalize&amp;&gt;(at-eye));
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1364827</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1364827</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Thu, 13 Sep 2007 18:00:10 GMT</pubDate></item><item><title><![CDATA[Reply to Adresse von temporärem Objekt on Thu, 13 Sep 2007 18:12:36 GMT]]></title><description><![CDATA[<p>camper schrieb:</p>
<blockquote>
<p>Vekt0r schrieb:</p>
<blockquote>
<p>Wenn ich eine Vektor-Klasse mit binärem Minus habe:</p>
<pre><code class="language-cpp">D3DXVECTOR3 operator - ( CONST D3DXVECTOR3&amp; ) const;
</code></pre>
<p>kann ich dann problemlos sowas machen?</p>
<pre><code class="language-cpp">D3DXVECTOR3 dir;
D3DXVec3Normalize(&amp;dir, &amp;(at-eye));
</code></pre>
<p>eye und at sind Vektoren. Es wird kompiliert, aber kann das irgendwie krachen?</p>
</blockquote>
<p>Das sollte nicht compilieren, da der unäre operator&amp; ein lvalue als Operand verlangt (wenn er nicht in dieser Klasse überladen wurde). korrekt wäre:</p>
<pre><code class="language-cpp">D3DXVec3Normalize(&amp;dir, &amp;static_cast&lt;const D3DXVec3Normalize&amp;&gt;(at-eye));
</code></pre>
</blockquote>
<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="😕"
    /><br />
Es kompiliert aber (VS 2005) und die Klasse hat keinen Operator&amp; überladen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1364835</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1364835</guid><dc:creator><![CDATA[Vekt0r]]></dc:creator><pubDate>Thu, 13 Sep 2007 18:12:36 GMT</pubDate></item><item><title><![CDATA[Reply to Adresse von temporärem Objekt on Thu, 13 Sep 2007 18:31:00 GMT]]></title><description><![CDATA[<p>camper schrieb:</p>
<blockquote>
<p>da der unäre operator&amp; ein lvalue als Operand verlangt (wenn er nicht in dieser Klasse überladen wurde). korrekt wäre:</p>
<pre><code class="language-cpp">D3DXVec3Normalize(&amp;dir, &amp;static_cast&lt;const D3DXVec3Normalize&amp;&gt;(at-eye));
</code></pre>
</blockquote>
<p>Der operator- gibt doch ein lvalue zurück <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/1364849</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1364849</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Thu, 13 Sep 2007 18:31:00 GMT</pubDate></item><item><title><![CDATA[Reply to Adresse von temporärem Objekt on Thu, 13 Sep 2007 18:42:25 GMT]]></title><description><![CDATA[<p>Bashar schrieb:</p>
<blockquote>
<p>camper schrieb:</p>
<blockquote>
<p>da der unäre operator&amp; ein lvalue als Operand verlangt (wenn er nicht in dieser Klasse überladen wurde). korrekt wäre:</p>
<pre><code class="language-cpp">D3DXVec3Normalize(&amp;dir, &amp;static_cast&lt;const D3DXVec3Normalize&amp;&gt;(at-eye));
</code></pre>
</blockquote>
<p>Der operator- gibt doch ein lvalue zurück <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>
</blockquote>
<pre><code class="language-cpp">D3DXVECTOR3 operator - ( CONST D3DXVECTOR3&amp; ) const;
</code></pre>
<p>wo siehst du hier ein lvalue?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1364857</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1364857</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Thu, 13 Sep 2007 18:42:25 GMT</pubDate></item><item><title><![CDATA[Reply to Adresse von temporärem Objekt on Thu, 13 Sep 2007 20:21:51 GMT]]></title><description><![CDATA[<p>Nirgends, du gewinnst. Der Standard ist da leider etwas inkonsistent.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1364909</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1364909</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Thu, 13 Sep 2007 20:21:51 GMT</pubDate></item><item><title><![CDATA[Reply to Adresse von temporärem Objekt on Thu, 13 Sep 2007 22:27:08 GMT]]></title><description><![CDATA[<p>MSVC 2005 frisst es, weil es zu MS' Language Extensions gehört das zu ermöglichen.<br />
Drehst du die (Language Extensions) aus kannst du dummerweise nichtmal mehr windows.h inkludieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1364942</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1364942</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Thu, 13 Sep 2007 22:27:08 GMT</pubDate></item></channel></rss>