<?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[&amp;quot;Union&amp;quot; in Klassen]]></title><description><![CDATA[<p>Hallo,</p>
<p>angenommen man hat folgende Klasse:</p>
<pre><code class="language-cpp">class Vector3D
{
    /* ... */

    union
    {
        float X, Width;
    };
    union
    {
        float Y, Height;
    };
    union
    {
        float Z, Depth;
    };
};

Vector3D MyVector;

MyVector.X;
MyVector.Width;
</code></pre>
<p>Würde der C++ Compiler in diesem Beispiel dann einfach für &quot;Width&quot; und &quot;X&quot; die selbe Speicheraddresse verwenden sodass absolut kein Geschwindigkeits Verlusst auftritt??</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/240866/quot-union-quot-in-klassen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 21 Sep 2026 19:12:38 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/240866.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 12 May 2009 19:31:07 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to &amp;quot;Union&amp;quot; in Klassen on Tue, 12 May 2009 19:31:07 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>angenommen man hat folgende Klasse:</p>
<pre><code class="language-cpp">class Vector3D
{
    /* ... */

    union
    {
        float X, Width;
    };
    union
    {
        float Y, Height;
    };
    union
    {
        float Z, Depth;
    };
};

Vector3D MyVector;

MyVector.X;
MyVector.Width;
</code></pre>
<p>Würde der C++ Compiler in diesem Beispiel dann einfach für &quot;Width&quot; und &quot;X&quot; die selbe Speicheraddresse verwenden sodass absolut kein Geschwindigkeits Verlusst auftritt??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1709591</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1709591</guid><dc:creator><![CDATA[LukasBanana]]></dc:creator><pubDate>Tue, 12 May 2009 19:31:07 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;Union&amp;quot; in Klassen on Tue, 12 May 2009 19:55:23 GMT]]></title><description><![CDATA[<p>Ja, das union ist ja auch so deffineirt das sich alle Variablen darin den selben Speicherbereich teilen, mußt nur aufpassen das das ganze aufgeht. Kannst dir auch ein kleines Testprogramms chreiben und die Adressen vergleichen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1709606</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1709606</guid><dc:creator><![CDATA[Xebov]]></dc:creator><pubDate>Tue, 12 May 2009 19:55:23 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;Union&amp;quot; in Klassen on Tue, 12 May 2009 20:29:37 GMT]]></title><description><![CDATA[<p>aber hässlich ists trotzdem?!<br />
wozu brauchst du denn 2 bezeichner für ein und das selbe? wenn es unbedingt sein muss, könntest du noch referenzen nehmen - die wird der compiler wegoptimieren, wenn er merkt, dass die eine immer auf den gleichen wert zeigt...</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1709628</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1709628</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Tue, 12 May 2009 20:29:37 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;Union&amp;quot; in Klassen on Tue, 12 May 2009 20:56:49 GMT]]></title><description><![CDATA[<p>Ich geb dir mal ein Beispiel da sich benutze:</p>
<pre><code class="language-cpp">Vector3
{
public:
    union
    {
        struct
        {
            float x;
            float y;
            float z;
        };
        struct
        {
            float u;
            float v;
            float w;
        };
        float vector[3];
    };
};
</code></pre>
<p>Das sind alles im Grunde nur Alias, abe rich kann sie passend benutzen x,y,z wenn ich korodinaten nehme, und u,v,w wenn ich Texturkoordinaten will und den vector[3] wenn ich nen Zeiger brauche. Ob das schön aussieht ist mir eigentlich egal, es ist sehr parktisch.</p>
<p>Oder sowas hier</p>
<pre><code class="language-cpp">union
{
    DWORD irgendwas[50];
    float irgendwas[50];
};
</code></pre>
<p>Hier erspart mir das union lästige reinterpret casts und jeder sieht was ich damit bewirken will.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1709639</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1709639</guid><dc:creator><![CDATA[Xebov]]></dc:creator><pubDate>Tue, 12 May 2009 20:56:49 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;Union&amp;quot; in Klassen on Wed, 13 May 2009 14:47:03 GMT]]></title><description><![CDATA[<blockquote>
<p>Würde der C++ Compiler in diesem Beispiel dann einfach für &quot;Width&quot; und &quot;X&quot; die selbe Speicheraddresse verwenden sodass absolut kein Geschwindigkeits Verlusst auftritt??</p>
</blockquote>
<p>Was hat das mit Geschwindigkeit zu tun?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1710013</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1710013</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Wed, 13 May 2009 14:47:03 GMT</pubDate></item></channel></rss>