<?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[Deklarationen in C++]]></title><description><![CDATA[<p><strong>Kurze Frage:</strong></p>
<p>Weshalb ist es in C++ (im logischeren Gegensatz zu C) möglich Daten überall zu deklarieren und nicht nur am <em>Anfang eines neuen Stackbereichs</em> ?</p>
<p><strong>Beispiel C vs. C++</strong></p>
<pre><code class="language-cpp">void c_function(void) {
  int a, b, c;

  // do something with a...

  // do something with b...

  // do something with c...
}

void cpp_function(void) {
  int a;

  // do something with a...

  int b;

  // do something with b...

  int c;

  // do something with c...
}
</code></pre>
<p><strong>Danke für die Aufklärung!</strong></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/256569/deklarationen-in-c</link><generator>RSS for Node</generator><lastBuildDate>Fri, 11 Sep 2026 06:04:43 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/256569.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 15 Dec 2009 07:19:28 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Deklarationen in C++ on Tue, 15 Dec 2009 07:19:28 GMT]]></title><description><![CDATA[<p><strong>Kurze Frage:</strong></p>
<p>Weshalb ist es in C++ (im logischeren Gegensatz zu C) möglich Daten überall zu deklarieren und nicht nur am <em>Anfang eines neuen Stackbereichs</em> ?</p>
<p><strong>Beispiel C vs. C++</strong></p>
<pre><code class="language-cpp">void c_function(void) {
  int a, b, c;

  // do something with a...

  // do something with b...

  // do something with c...
}

void cpp_function(void) {
  int a;

  // do something with a...

  int b;

  // do something with b...

  int c;

  // do something with c...
}
</code></pre>
<p><strong>Danke für die Aufklärung!</strong></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1822624</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1822624</guid><dc:creator><![CDATA[Tomahawk]]></dc:creator><pubDate>Tue, 15 Dec 2009 07:19:28 GMT</pubDate></item><item><title><![CDATA[Reply to Deklarationen in C++ on Tue, 15 Dec 2009 07:23:37 GMT]]></title><description><![CDATA[<p>Weil es besser ist für die Übersicht und Fehlervermeidung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1822627</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1822627</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Tue, 15 Dec 2009 07:23:37 GMT</pubDate></item><item><title><![CDATA[Reply to Deklarationen in C++ on Tue, 15 Dec 2009 08:05:35 GMT]]></title><description><![CDATA[<p>Gerade weil Typen benutzerdefinierte Konstruktoren besitzen können, ist es sehr praktisch. Statt</p>
<pre><code class="language-cpp">T x;
...
x = ...;
</code></pre>
<p>sollte man in C++ versuchen</p>
<pre><code class="language-cpp">T x = ...; // Oder T x (...);
</code></pre>
<p>zu schreiben -- also eine Initialisierung der Zuweisung vorzuziehen.</p>
<p>BTW: Seit C99 ist das auch legal in C wenn ich mich nicht irre.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1822633</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1822633</guid><dc:creator><![CDATA[senfer]]></dc:creator><pubDate>Tue, 15 Dec 2009 08:05:35 GMT</pubDate></item><item><title><![CDATA[Reply to Deklarationen in C++ on Tue, 15 Dec 2009 13:12:36 GMT]]></title><description><![CDATA[<p>senfer schrieb:</p>
<blockquote>
<p>Gerade weil Typen benutzerdefinierte Konstruktoren besitzen können, ist es sehr praktisch. ...</p>
</blockquote>
<p>Außerdem ist es praktisch, Objekte gleich richtig (z.B. mit dem Ergebnis mehrerer Funktionsaufrufe initialisieren) und übersichtlich initialisieren zu können.</p>
<pre><code class="language-cpp">A a;
a.do_something(3);
B b(a.getB_Val());
</code></pre>
<p>- keine &quot;Vorratobjekte&quot; deklarieren zu müssen</p>
<pre><code class="language-cpp">A a(getfirstInput());
if(a.doit()) return;

B b(getNextInput());
if(b.doit()) return;

C c(getNextInput());
c.do_something_other();
</code></pre>
<p>- Sich keine &quot;künstliche globalen Variablen&quot; einzuhandeln, wie es sonst gerne mit &quot;Hilfsvariablen&quot; passiert.<br />
Sowas kann man zwar auch in &quot;vor-C99&quot; mit &quot;Scopeorgien&quot; einigermaßen hinbekommen, aber das wird schnell unübersichtlich.<br />
Allein schon das</p>
<pre><code class="language-cpp">for(size_t i = 0; i ...
</code></pre>
<p>finde ich superpraktisch....</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1822811</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1822811</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Tue, 15 Dec 2009 13:12:36 GMT</pubDate></item></channel></rss>