<?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[Wieso {}Blöcke mit ; schließen?]]></title><description><![CDATA[<p>Hey,</p>
<p>ich habe bis jetzt mit PHP gearbeitet, und dort musste man {}-Blöcke nicht mit einem Semikolon schließen,</p>
<p>in C++ scheint das anders zu sein:</p>
<pre><code class="language-cpp">struct artikel
  {

    int artNum;
    double artPreis;

  }; // &lt;- dies hier
</code></pre>
<p>Ist ja aber anscheinend auch nur in manchen Fällen so, was gibt es denn da für Unterschiede zwischen {}; und {}?</p>
<p>Kann das jemand erläutern? <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/topic/273676/wieso-blöcke-mit-schließen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 28 Aug 2026 01:14:53 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/273676.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 10 Sep 2010 19:37:22 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wieso {}Blöcke mit ; schließen? on Fri, 10 Sep 2010 19:53:22 GMT]]></title><description><![CDATA[<p>Hey,</p>
<p>ich habe bis jetzt mit PHP gearbeitet, und dort musste man {}-Blöcke nicht mit einem Semikolon schließen,</p>
<p>in C++ scheint das anders zu sein:</p>
<pre><code class="language-cpp">struct artikel
  {

    int artNum;
    double artPreis;

  }; // &lt;- dies hier
</code></pre>
<p>Ist ja aber anscheinend auch nur in manchen Fällen so, was gibt es denn da für Unterschiede zwischen {}; und {}?</p>
<p>Kann das jemand erläutern? <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/1951108</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1951108</guid><dc:creator><![CDATA[basi]]></dc:creator><pubDate>Fri, 10 Sep 2010 19:53:22 GMT</pubDate></item><item><title><![CDATA[Reply to Wieso {}Blöcke mit ; schließen? on Fri, 10 Sep 2010 19:41:37 GMT]]></title><description><![CDATA[<p>Nach der Definition von Structs, Klassen, Enums, Unions (hab ich was vergessen?) kannst du jeweils bereits Variablen des Typs anlegen. Beispiel:</p>
<pre><code class="language-cpp">struct foo
{
    int bar
} foo_instance; // foo_instance ist eine Variable vom Typ foo
</code></pre>
<p>Damit der Compiler weiß, wann die Struct-Definition zuende ist, braucht er also das Semikolon.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1951109</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1951109</guid><dc:creator><![CDATA[Max0r]]></dc:creator><pubDate>Fri, 10 Sep 2010 19:41:37 GMT</pubDate></item><item><title><![CDATA[Reply to Wieso {}Blöcke mit ; schließen? on Fri, 10 Sep 2010 19:46:26 GMT]]></title><description><![CDATA[<p>Achso, quasi wie bei MySQL beim erstellen einer Tabelle, da kann man ja auch am Ende Parameter übergeben.</p>
<p>Und was genau würde jetzt dein Code bewirken? (bezogen auf das <strong>foo_instance</strong>)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1951110</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1951110</guid><dc:creator><![CDATA[basi]]></dc:creator><pubDate>Fri, 10 Sep 2010 19:46:26 GMT</pubDate></item><item><title><![CDATA[Reply to Wieso {}Blöcke mit ; schließen? on Fri, 10 Sep 2010 20:10:13 GMT]]></title><description><![CDATA[<p>Max0r schrieb:</p>
<blockquote>
<p>... Variablen des Typs anlegen. ...</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1951112</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1951112</guid><dc:creator><![CDATA[brain.exe]]></dc:creator><pubDate>Fri, 10 Sep 2010 20:10:13 GMT</pubDate></item><item><title><![CDATA[Reply to Wieso {}Blöcke mit ; schließen? on Fri, 10 Sep 2010 21:01:47 GMT]]></title><description><![CDATA[<p>Das ist aber sehr C-mässig. Das macht man üblicherweise in C++ nicht.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/25499">@basi</a><br />
In C++ braucht es ein ';' nach jeder Definition. Sei es eine Variablendefinition oder aber auch Klassendefinitionen (nach Deklarationen ebenfalls und in vielen anderen Fällen auch).</p>
<p>Nach Blöcken wird das Semikolon insbesondere nicht gebraucht bei Funktionsdefintionen und innerhalb von Funktionenen.</p>
<pre><code class="language-cpp">void foo()
{
  {
   int i;
  } // kein ;

} // kein ;
</code></pre>
<p>Erlaubt wäre es aber in beiden Fällen.</p>
<p>Vom philosophischen Standpunkt aus gesehen wären gar keine Semikolons nötig, aber da das damals so definiert wurde musst du das halt einfach lernen (der Compiler hilft dir da stark dabei).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1951129</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1951129</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Fri, 10 Sep 2010 21:01:47 GMT</pubDate></item><item><title><![CDATA[Reply to Wieso {}Blöcke mit ; schließen? on Fri, 10 Sep 2010 23:51:52 GMT]]></title><description><![CDATA[<p>drakon schrieb:</p>
<blockquote>
<p>Vom philosophischen Standpunkt aus gesehen wären gar keine Semikolons nötig, aber da das damals so definiert wurde musst du das halt einfach lernen (der Compiler hilft dir da stark dabei).</p>
</blockquote>
<p>Das würde aber die Grammatik stark einschränken.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1951145</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1951145</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Fri, 10 Sep 2010 23:51:52 GMT</pubDate></item><item><title><![CDATA[Reply to Wieso {}Blöcke mit ; schließen? on Sat, 11 Sep 2010 06:55:30 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>drakon schrieb:</p>
<blockquote>
<p>Vom philosophischen Standpunkt aus gesehen wären gar keine Semikolons nötig, aber da das damals so definiert wurde musst du das halt einfach lernen (der Compiler hilft dir da stark dabei).</p>
</blockquote>
<p>Das würde aber die Grammatik stark einschränken.</p>
</blockquote>
<p>Außerdem hat man es in C++ so gemacht und dann ist es gut.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1951158</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1951158</guid><dc:creator><![CDATA[666.22]]></dc:creator><pubDate>Sat, 11 Sep 2010 06:55:30 GMT</pubDate></item><item><title><![CDATA[Reply to Wieso {}Blöcke mit ; schließen? on Sat, 11 Sep 2010 08:57:08 GMT]]></title><description><![CDATA[<p>drakon schrieb:</p>
<blockquote>
<pre><code class="language-cpp">void foo()
{
  {
   int i;
  } // kein ;

} // kein ;
</code></pre>
<p>Erlaubt wäre es aber in beiden Fällen.</p>
</blockquote>
<p>Nein. Es gibt nur die leere Anweisung.</p>
<pre><code class="language-cpp">;
</code></pre>
<p>Es gibt nicht die leere Deklaration.</p>
<pre><code class="language-cpp">;
</code></pre>
<p>Also darf es eben nicht hinter die Funktion.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1951188</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1951188</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sat, 11 Sep 2010 08:57:08 GMT</pubDate></item><item><title><![CDATA[Reply to Wieso {}Blöcke mit ; schließen? on Sat, 11 Sep 2010 10:05:50 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>drakon schrieb:</p>
<blockquote>
<p>Vom philosophischen Standpunkt aus gesehen wären gar keine Semikolons nötig, aber da das damals so definiert wurde musst du das halt einfach lernen (der Compiler hilft dir da stark dabei).</p>
</blockquote>
<p>Das würde aber die Grammatik stark einschränken.</p>
</blockquote>
<p>Ich denke nicht so stark, wie man zuerst meint.<br />
Ich ziehe hier auch gern mal wieder Eiffel als Beispiel an, wo ich richtig erstaunt war wie wenig man Semikolons wirklich braucht. Und wenn man wirklich mal mehrere Anweisungen in einer Zeile haben will kann man trotzdem noch Semikolons einfügen, aber meistens ist das überhaupt nicht notwendig.<br />
Mir fällt im Moment auch kein wirklich realistisches Beispiel ein, wo man die Semikolons wirklich braucht (ich meine jetzt nicht die bei for Schleifen etc.)</p>
<p>@666.22<br />
Nur weil es C++ vor x Jahren einmal gemacht hat heisst das gleich, dass es gut ist?!</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/106">@volkard</a>:<br />
Stimmt. Da habe ich nicht aufgepasst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1951215</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1951215</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sat, 11 Sep 2010 10:05:50 GMT</pubDate></item><item><title><![CDATA[Reply to Wieso {}Blöcke mit ; schließen? on Sat, 11 Sep 2010 11:49:15 GMT]]></title><description><![CDATA[<p>drakon schrieb:</p>
<blockquote>
<p>@666.22<br />
Nur weil es C++ vor x Jahren einmal gemacht hat heisst das gleich, dass es gut ist?!</p>
</blockquote>
<p>Nicht?? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1951255</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1951255</guid><dc:creator><![CDATA[666.22]]></dc:creator><pubDate>Sat, 11 Sep 2010 11:49:15 GMT</pubDate></item><item><title><![CDATA[Reply to Wieso {}Blöcke mit ; schließen? on Sat, 11 Sep 2010 12:00:09 GMT]]></title><description><![CDATA[<p>Ich weiss man sollte Trolle nicht füttern, aber <a href="http://extreme.pcgameshardware.de/members/jolo-albums-banner-1795-picture26897-keks.jpg" rel="nofollow">hier</a> haste nen Keks.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1951261</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1951261</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sat, 11 Sep 2010 12:00:09 GMT</pubDate></item><item><title><![CDATA[Reply to Wieso {}Blöcke mit ; schließen? on Sat, 11 Sep 2010 12:02:33 GMT]]></title><description><![CDATA[<p>drakon schrieb:</p>
<blockquote>
<p>Ich weiss man sollte Trolle nicht füttern, aber <a href="http://extreme.pcgameshardware.de/members/jolo-albums-banner-1795-picture26897-keks.jpg" rel="nofollow">hier</a> haste nen Keks.</p>
</blockquote>
<p>Was ist das denn für ein unqualifizierter Kommentar?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1951265</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1951265</guid><dc:creator><![CDATA[basi]]></dc:creator><pubDate>Sat, 11 Sep 2010 12:02:33 GMT</pubDate></item><item><title><![CDATA[Reply to Wieso {}Blöcke mit ; schließen? on Sat, 11 Sep 2010 12:04:56 GMT]]></title><description><![CDATA[<p>basi schrieb:</p>
<blockquote>
<p>drakon schrieb:</p>
<blockquote>
<p>Ich weiss man sollte Trolle nicht füttern, aber <a href="http://extreme.pcgameshardware.de/members/jolo-albums-banner-1795-picture26897-keks.jpg" rel="nofollow">hier</a> haste nen Keks.</p>
</blockquote>
<p>Was ist das denn für ein unqualifizierter Kommentar?</p>
</blockquote>
<p>Dumme Fragen ergeben dumme Antworten und der letzte Kommentar von 666.22 (auch der erste) sind offensichtliche Trollversuche, auf welche man normalerweise nichteinmal eingeht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1951268</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1951268</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sat, 11 Sep 2010 12:04:56 GMT</pubDate></item><item><title><![CDATA[Reply to Wieso {}Blöcke mit ; schließen? on Sat, 11 Sep 2010 12:48:46 GMT]]></title><description><![CDATA[<p>drakon schrieb:</p>
<blockquote>
<p>In C++ braucht es ein ';' nach jeder Definition.</p>
</blockquote>
<p>Nicht nach jeder. Nach Funktions- oder Namensraumdefinitionen zum Beispiel nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1951284</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1951284</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sat, 11 Sep 2010 12:48:46 GMT</pubDate></item><item><title><![CDATA[Reply to Wieso {}Blöcke mit ; schließen? on Sat, 11 Sep 2010 12:56:33 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>drakon schrieb:</p>
<blockquote>
<p>In C++ braucht es ein ';' nach jeder Definition.</p>
</blockquote>
<p>Nicht nach jeder. Nach Funktions- oder Namensraumdefinitionen zum Beispiel nicht.</p>
</blockquote>
<p>Jaja, ich weiss. Ich wollte es ihm aber nicht zu kompliziert machen. <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="😉"
    /> (Die Funktionsdefinition habe ich ja noch als Ausnahme genannt und namespaces kommen eher selten vor).</p>
<p>Ich denke Definitionen als Faustregel und den beiden gezeigten Ausnahmen und man hat einen Grossteil der Fälle abgedeckt. All die anderen Fälle muss man sich einfach merken. Wenn man es genau will, muss man fast den Standard zitieren, was einem Anfänger wohl kaum etwas bringt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1951286</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1951286</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sat, 11 Sep 2010 12:56:33 GMT</pubDate></item><item><title><![CDATA[Reply to Wieso {}Blöcke mit ; schließen? on Sat, 11 Sep 2010 13:08:31 GMT]]></title><description><![CDATA[<p>Schlage vor: Typedefinition.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1951290</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1951290</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sat, 11 Sep 2010 13:08:31 GMT</pubDate></item></channel></rss>