<?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[Mal ne Frage zum C++Standard....]]></title><description><![CDATA[<p>Hi, Was entspricht dem C++ Standard:</p>
<p>1.:</p>
<pre><code class="language-cpp">typedef struct STRUCT
{
// ...
};
</code></pre>
<p>2.:</p>
<pre><code class="language-cpp">typedef struct
{
// ...
} STRUCT;
</code></pre>
<p>PS: Wie isses mit typedef ?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/150636/mal-ne-frage-zum-c-standard</link><generator>RSS for Node</generator><lastBuildDate>Sat, 05 Sep 2026 20:34:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/150636.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 18 Jun 2006 22:45:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Mal ne Frage zum C++Standard.... on Sun, 18 Jun 2006 22:45:24 GMT]]></title><description><![CDATA[<p>Hi, Was entspricht dem C++ Standard:</p>
<p>1.:</p>
<pre><code class="language-cpp">typedef struct STRUCT
{
// ...
};
</code></pre>
<p>2.:</p>
<pre><code class="language-cpp">typedef struct
{
// ...
} STRUCT;
</code></pre>
<p>PS: Wie isses mit typedef ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1080309</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1080309</guid><dc:creator><![CDATA[STD]]></dc:creator><pubDate>Sun, 18 Jun 2006 22:45:24 GMT</pubDate></item><item><title><![CDATA[Reply to Mal ne Frage zum C++Standard.... on Sun, 18 Jun 2006 23:11:03 GMT]]></title><description><![CDATA[<p>STD schrieb:</p>
<blockquote>
<p>Hi, Was entspricht dem C++ Standard:</p>
<p>1.:</p>
<pre><code class="language-cpp">typedef struct STRUCT
{
// ...
};
</code></pre>
<p>2.:</p>
<pre><code class="language-cpp">typedef struct
{
// ...
} STRUCT;
</code></pre>
<p>PS: Wie isses mit typedef ?</p>
</blockquote>
<p>beides ist legal (wobei im ersten das typedef überflüssig ist, weil kein typedefname deklariert wird. im zweiten fall ist STRUCT ein typedefname - das schränkt seine nutzbarkeit etwas ein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1080312</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1080312</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Sun, 18 Jun 2006 23:11:03 GMT</pubDate></item><item><title><![CDATA[Reply to Mal ne Frage zum C++Standard.... on Sun, 18 Jun 2006 23:24:18 GMT]]></title><description><![CDATA[<p>camper schrieb:</p>
<blockquote>
<p>beides ist legal (wobei im ersten das typedef überflüssig ist, weil kein typedefname deklariert wird. im zweiten fall ist STRUCT ein typedefname - das schränkt seine nutzbarkeit etwas ein.</p>
</blockquote>
<p>&quot;das schränkt seine nutzbarkeit etwas ein.&quot;...in wie fern ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1080315</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1080315</guid><dc:creator><![CDATA[STD]]></dc:creator><pubDate>Sun, 18 Jun 2006 23:24:18 GMT</pubDate></item><item><title><![CDATA[Reply to Mal ne Frage zum C++Standard.... on Mon, 19 Jun 2006 09:36:23 GMT]]></title><description><![CDATA[<p>&quot;das schränkt seine nutzbarkeit etwas ein.&quot;...in wie fern ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1080479</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1080479</guid><dc:creator><![CDATA[STD]]></dc:creator><pubDate>Mon, 19 Jun 2006 09:36:23 GMT</pubDate></item><item><title><![CDATA[Reply to Mal ne Frage zum C++Standard.... on Mon, 19 Jun 2006 16:45:18 GMT]]></title><description><![CDATA[<p>Eigentlich gar nicht, außer der Tatsache, das du keine Vorwärtsdeklaration auf dieses Struct machen darfst.<br />
In C++ brauchst du aber auch keins von beidem, Namen von structs sind (im Gegensatz zu C) automatisch Typnamen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1080757</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1080757</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Mon, 19 Jun 2006 16:45:18 GMT</pubDate></item><item><title><![CDATA[Reply to Mal ne Frage zum C++Standard.... on Mon, 19 Jun 2006 16:55:39 GMT]]></title><description><![CDATA[<p>Zweiteres ist nicht legal. Ein struct muss immer einen Namen haben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1080769</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1080769</guid><dc:creator><![CDATA[dragon90#]]></dc:creator><pubDate>Mon, 19 Jun 2006 16:55:39 GMT</pubDate></item><item><title><![CDATA[Reply to Mal ne Frage zum C++Standard.... on Mon, 19 Jun 2006 17:00:42 GMT]]></title><description><![CDATA[<p>Das stimmt nicht. Allein schon aufgrund der angepeilten C-Kompatibilität. Frag deinen Compiler.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1080776</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1080776</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Mon, 19 Jun 2006 17:00:42 GMT</pubDate></item><item><title><![CDATA[Reply to Mal ne Frage zum C++Standard.... on Mon, 19 Jun 2006 17:06:26 GMT]]></title><description><![CDATA[<p>.filmor schrieb:</p>
<blockquote>
<p>Das stimmt nicht. Allein schon aufgrund der angepeilten C-Kompatibilität. Frag deinen Compiler.</p>
</blockquote>
<p>Der hat nichts dagegen, aber der hat auch nichts gegen</p>
<pre><code class="language-cpp">for( int i = 0; i &lt; 10; ++i );
if( i == 10 );
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1080782</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1080782</guid><dc:creator><![CDATA[dragon90#]]></dc:creator><pubDate>Mon, 19 Jun 2006 17:06:26 GMT</pubDate></item><item><title><![CDATA[Reply to Mal ne Frage zum C++Standard.... on Mon, 19 Jun 2006 17:13:54 GMT]]></title><description><![CDATA[<p>Dann frag halt <a href="http://www.comeaucomputing.com/tryitout/" rel="nofollow">http://www.comeaucomputing.com/tryitout/</a> oder <a href="http://mingw.org/" rel="nofollow">http://mingw.org/</a>, die sind bestimmt standardkonformer als VC6 oder BCC oder was auch immer du da hast :p. Zur Not schau halt im Standard, wenn du ihn findest. Es funktioniert aber auf jeden Fall. Ein solches Struct kann aber natürlich keinen Konstruktor haben, aber ob es ein POD-Struct sein muss weiß ich nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1080791</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1080791</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Mon, 19 Jun 2006 17:13:54 GMT</pubDate></item><item><title><![CDATA[Reply to Mal ne Frage zum C++Standard.... on Mon, 19 Jun 2006 18:16:19 GMT]]></title><description><![CDATA[<p>dragon90# schrieb:</p>
<blockquote>
<p>Zweiteres ist nicht legal. Ein struct muss immer einen Namen haben.</p>
</blockquote>
<p>weder noch. es sind allerdings (abgesehen von unbenannten bitfeldern) deklarationen nicht zulässig, die keine neuen namen einführen (bzw. namen redeklarieren). folgendes ist zum beispiel ill-formed:</p>
<pre><code class="language-cpp">extern int;
struct {};
typedef int;
</code></pre>
<p>das hier dagegen ist sehr wohl erlaubt:</p>
<pre><code class="language-cpp">typedef struct {} *p;
</code></pre>
<p>hier ist die klasse selbst unbenannt. trotzdem sind das feinheiten, die man vermeiden sollte - schon um missverständnissen aus dem weg zu gehen. die definition von typen innerhalb von typedef deklarationen ist ein überbleibsel aus C, das keine echte bedeutung in C++ hat.</p>
<p>das wesentliche des einführens von namen wird auch deutlich, wenn man sich das hier anschaut:</p>
<pre><code class="language-cpp">int;
struct S { int foo; };
struct { int foo; } s;
</code></pre>
<p>alle drei fälle sind variablendefinitionen, aber das erste ist unzulässig (und gerade das dritte benutzt auch wieder eine unbenannte klasse). vorsicht auch vor verwechslung zwischen unbenannten und anonymen unions. zwar ist ein anonymes union immer auch unbenannt - aber umgekehrt gilt das nicht:</p>
<pre><code class="language-cpp">union { int foo; }; //anonym
union { int foo; } bar; // unbenannt
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1080834</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1080834</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Mon, 19 Jun 2006 18:16:19 GMT</pubDate></item></channel></rss>