<?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[Stilfrage: T&amp;amp; a oder T &amp;amp;a]]></title><description><![CDATA[<p>Wie der Titel schon sagt, eine kleine Stilfrage. Bisher haben wir meist im Stil</p>
<p><strong>T&amp; a</strong> oder <em><em>char</em> buffer</em>* geschrieben. Allerdings würde folgendes natürlich so nicht funktionieren:</p>
<p><em><em>const char</em> m_token_begin, m_token_end, m_end;</em>*</p>
<p>Stattdessen muss es heissen:</p>
<p>*<em>const char *m_token_begin, *m_token_end, <em>m_end;</em></em></p>
<p>Daher tendiere ich gerade es konsistent wie im zweiten 'Fall' umzusetzen. Also <strong>'&amp;'</strong> oder <strong>'*'</strong> an das Objekt, bzw. die Variable zu binden und nicht an den Typ. Wie sind eure Meinungen dazu?</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/321061/stilfrage-t-amp-a-oder-t-amp-a</link><generator>RSS for Node</generator><lastBuildDate>Wed, 22 Jul 2026 01:20:05 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/321061.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 22 Oct 2013 13:25:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Stilfrage: T&amp;amp; a oder T &amp;amp;a on Tue, 22 Oct 2013 13:25:24 GMT]]></title><description><![CDATA[<p>Wie der Titel schon sagt, eine kleine Stilfrage. Bisher haben wir meist im Stil</p>
<p><strong>T&amp; a</strong> oder <em><em>char</em> buffer</em>* geschrieben. Allerdings würde folgendes natürlich so nicht funktionieren:</p>
<p><em><em>const char</em> m_token_begin, m_token_end, m_end;</em>*</p>
<p>Stattdessen muss es heissen:</p>
<p>*<em>const char *m_token_begin, *m_token_end, <em>m_end;</em></em></p>
<p>Daher tendiere ich gerade es konsistent wie im zweiten 'Fall' umzusetzen. Also <strong>'&amp;'</strong> oder <strong>'*'</strong> an das Objekt, bzw. die Variable zu binden und nicht an den Typ. Wie sind eure Meinungen dazu?</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2362145</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2362145</guid><dc:creator><![CDATA[Tomahawk]]></dc:creator><pubDate>Tue, 22 Oct 2013 13:25:24 GMT</pubDate></item><item><title><![CDATA[Reply to Stilfrage: T&amp;amp; a oder T &amp;amp;a on Tue, 22 Oct 2013 13:34:31 GMT]]></title><description><![CDATA[<p>Tomahawk schrieb:</p>
<blockquote>
<p>...Daher tendiere ich gerade es konsistent wie im zweiten 'Fall' umzusetzen.</p>
</blockquote>
<p>Ich tendiere unter C++ inzwischen zum 3ten Fall: &lt;Typ&gt; &lt;Zeichen&gt; &lt;Bezeichnung&gt;</p>
<p>1. Deklariere ich ohnehin niemals mehrere Variablen in einer Zeile.<br />
2. Spätestens wenn const hinzu kommt gibt es ohnehin wieder Abstände (Zumindest wenn man das const wie ich [Auch wieder nur in C++] immer konsequent hinter das schreibt, was konstant ist).</p>
<p>Beispiel:</p>
<pre><code>int const * const wert;
</code></pre>
<p>In welche Richtung willst du nun das Zeichen packen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2362147</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2362147</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Tue, 22 Oct 2013 13:34:31 GMT</pubDate></item><item><title><![CDATA[Reply to Stilfrage: T&amp;amp; a oder T &amp;amp;a on Tue, 22 Oct 2013 13:35:43 GMT]]></title><description><![CDATA[<p>Tomahawk schrieb:</p>
<blockquote>
<p>Daher tendiere ich gerade es konsistent wie im zweiten 'Fall' umzusetzen. Also <strong>'&amp;'</strong> oder <strong>'*'</strong> an das Objekt, bzw. die Variable zu binden und nicht an den Typ. Wie sind eure Meinungen dazu?</p>
</blockquote>
<p>Aus genau diesem Grund mache ich das auch so.<br />
char *s bedeutet nicht &quot;<em>s ist ein char pointer</em>&quot; sondern &quot;<em>der Wert von s (dereferenziert) ist ein char</em>&quot;.</p>
<p>Wo ich gerade bei nutzloser Semantiknerverei bin: In C++ gibt es nur call by value. Call by reference gibts weder in C noch in C++ noch in Java.</p>
<pre><code>void foo(int *i); //ein Pointer auf ein int wird per value übergeben
void foo(int &amp;i); //eine Referenz auf ein int wird per value übergeben
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2362148</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2362148</guid><dc:creator><![CDATA[nwp3]]></dc:creator><pubDate>Tue, 22 Oct 2013 13:35:43 GMT</pubDate></item><item><title><![CDATA[Reply to Stilfrage: T&amp;amp; a oder T &amp;amp;a on Tue, 22 Oct 2013 13:35:49 GMT]]></title><description><![CDATA[<p>Tomahawk schrieb:</p>
<blockquote>
<p>Wie der Titel schon sagt, eine kleine Stilfrage. Bisher haben wir meist im Stil</p>
<p><strong>T&amp; a</strong> oder <em><em>char</em> buffer</em>* geschrieben. Allerdings würde folgendes natürlich so nicht funktionieren:</p>
<p><em><em>const char</em> m_token_begin, m_token_end, m_end;</em>*</p>
<p>Stattdessen muss es heissen:</p>
<p>*<em>const char *m_token_begin, *m_token_end, <em>m_end;</em></em></p>
<p>Daher tendiere ich gerade es konsistent wie im zweiten 'Fall' umzusetzen. Also <strong>'&amp;'</strong> oder <strong>'*'</strong> an das Objekt, bzw. die Variable zu binden und nicht an den Typ. Wie sind eure Meinungen dazu?</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
</blockquote>
<p>Ja, das war die Regel in C.<br />
Da schrieb man<br />
int a,b, c[5], *d;<br />
als erste Zeile und dann gibgs los…</p>
<p>Ind C++ definiert man eine Variable eigentlich erst, wenn man sie sinnvoll initialisieren kann, und dann bekommt auch jede Variable ihre eigene Zeile. Daher können wir es uns leiten, Typen wie int* oder int&amp; zu denken.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2362149</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2362149</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Tue, 22 Oct 2013 13:35:49 GMT</pubDate></item><item><title><![CDATA[Reply to Stilfrage: T&amp;amp; a oder T &amp;amp;a on Tue, 22 Oct 2013 13:48:22 GMT]]></title><description><![CDATA[<p>Danke für die Meinungen.</p>
<p>Wahrscheinlich ist es lesbarer für jedes Objekt bzw. jede Variable eine eigene Zeile anzulegen, um genannter Problematik zu entgehen:</p>
<pre><code>private:
  const char* m_token_begin;
  const char* m_token_end;
  const char* m_end;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2362154</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2362154</guid><dc:creator><![CDATA[Tomahawk]]></dc:creator><pubDate>Tue, 22 Oct 2013 13:48:22 GMT</pubDate></item><item><title><![CDATA[Reply to Stilfrage: T&amp;amp; a oder T &amp;amp;a on Tue, 22 Oct 2013 13:51:41 GMT]]></title><description><![CDATA[<p>nwp3 schrieb:</p>
<blockquote>
<p>Wo ich gerade bei nutzloser Semantiknerverei bin: In C++ gibt es nur call by value. Call by reference gibts weder in C noch in C++ noch in Java.</p>
<pre><code>void foo(int *i); //ein Pointer auf ein int wird per value übergeben
void foo(int &amp;i); //eine Referenz auf ein int wird per value übergeben
</code></pre>
</blockquote>
<p><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="😮"
    /> Jetzt ist die ganze Welt verwirrt. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2362155</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2362155</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Tue, 22 Oct 2013 13:51:41 GMT</pubDate></item><item><title><![CDATA[Reply to Stilfrage: T&amp;amp; a oder T &amp;amp;a on Tue, 22 Oct 2013 14:27:27 GMT]]></title><description><![CDATA[<p>nwp3 schrieb:</p>
<blockquote>
<p>Wo ich gerade bei nutzloser Semantiknerverei bin: In C++ gibt es nur call by value. Call by reference gibts weder in C noch in C++ noch in Java.</p>
</blockquote>
<p>Nenne es wie du willst, aber bitte verwirre andere nicht damit. Es wird nun einmal in 90+% aller Quellen anders genannt, und die andere Benennung ergibt durchaus Sinn um die Unterschiede zu beschreiben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2362166</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2362166</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Tue, 22 Oct 2013 14:27:27 GMT</pubDate></item><item><title><![CDATA[Reply to Stilfrage: T&amp;amp; a oder T &amp;amp;a on Tue, 22 Oct 2013 14:33:57 GMT]]></title><description><![CDATA[<p>Ich habe mir die Frage auch schon gestellt und es gibt bei allem irgendwelchen Probleme.<br />
Letztendlich bin ich aber zu T&amp; a übergegangen, weil das Referenzzeichen ja zum Typ gehört und nicht zum Namen.</p>
<p>Generell würde ich das aber als Geschmacksfrage beschreiben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2362167</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2362167</guid><dc:creator><![CDATA[Marthog]]></dc:creator><pubDate>Tue, 22 Oct 2013 14:33:57 GMT</pubDate></item><item><title><![CDATA[Reply to Stilfrage: T&amp;amp; a oder T &amp;amp;a on Tue, 22 Oct 2013 15:06:22 GMT]]></title><description><![CDATA[<p>Ich bin mittlerweile dazu übergegangen, immer T&amp;/T* zu verwenden, wenn nur eine Variable diesen Typ bekommt (also auch in Parametern, die sind meistens nicht auf einer einzelnen Zeile).</p>
<p>volkard schrieb:</p>
<blockquote>
<p>Ind C++ definiert man eine Variable eigentlich erst, wenn man sie sinnvoll initialisieren kann</p>
</blockquote>
<p>Es gibt die genannte Ausnahme, wenn man die Membervariablen einer Struktur deklariert:</p>
<pre><code class="language-cpp">private:
  const char *token_begin, *token_end, *end;
</code></pre>
<p>Dann mache ich den Stern zum Namen. Allerdings immer nur ein Typ pro Zeile, nie Pointer und Nicht-Pointer gemischt.</p>
<p>Btw: Ich ziehe &quot;T const&amp;&quot; der Schreibweise &quot;const T&amp;&quot; vor, weil T ist eine const-referenz und T const&amp; ist besser zu lesen (wichtiges zuerst), schreiben und aussprechen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2362179</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2362179</guid><dc:creator><![CDATA[five star programmer]]></dc:creator><pubDate>Tue, 22 Oct 2013 15:06:22 GMT</pubDate></item><item><title><![CDATA[Reply to Stilfrage: T&amp;amp; a oder T &amp;amp;a on Tue, 22 Oct 2013 15:50:56 GMT]]></title><description><![CDATA[<p>five star programmer schrieb:</p>
<blockquote>
<p>Es gibt die genannte Ausnahme, wenn man die Membervariablen einer Struktur deklariert:</p>
<pre><code class="language-cpp">private:
  const char *token_begin, *token_end, *end;
</code></pre>
<p>Dann mache ich den Stern zum Namen. Allerdings immer nur ein Typ pro Zeile, nie Pointer und Nicht-Pointer gemischt.</p>
</blockquote>
<p>Ich mache eine Variable pro Zeile - ist viel besser lesbar. und wenn man einen kommentar zu einer variablen packen will ists auch einfacher dann. oder die commits bei code änderungen an der klasse - ich muss keine zeile mit 10 variablen anpassen und dann funktionieren die blames wieder nicht gut genug. ne ne. 1 zeile pro variable ist besser.</p>
<blockquote>
<p>Btw: Ich ziehe &quot;T const&amp;&quot; der Schreibweise &quot;const T&amp;&quot; vor, weil T ist eine const-referenz und T const&amp; ist besser zu lesen (wichtiges zuerst), schreiben und aussprechen.</p>
</blockquote>
<p>dem stimme ich hingegen voll zu.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2362187</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2362187</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Tue, 22 Oct 2013 15:50:56 GMT</pubDate></item><item><title><![CDATA[Reply to Stilfrage: T&amp;amp; a oder T &amp;amp;a on Tue, 22 Oct 2013 16:13:37 GMT]]></title><description><![CDATA[<p>Tomahawk schrieb:</p>
<blockquote>
<pre><code>private:
  const char* m_token_begin;
  const char* m_token_end;
  const char* m_end;
</code></pre>
</blockquote>
<p>+1</p>
<p>Nur dass du das <code>const</code> auf der falschen Seite von <code>char</code> stehen hast <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2362198</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2362198</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 22 Oct 2013 16:13:37 GMT</pubDate></item><item><title><![CDATA[Reply to Stilfrage: T&amp;amp; a oder T &amp;amp;a on Tue, 22 Oct 2013 17:34:51 GMT]]></title><description><![CDATA[<p>Wenn man mal den Namen weglässt, sieht eine der beiden Varianten unnötig gequetscht aus:</p>
<pre><code class="language-cpp">void (int&amp;, std::string*)

void (int &amp;, std::string *)
</code></pre>
<p>Gerade als Template-Argument geht ein kleines <code>&amp;</code> oder ein <code>*</code> unter, wenn kein Leerzeichen davor steht.<br />
Bei <code>g</code> finde ich die linke Seite durch den langen Typ sehr unübersichtlich. Für das Sternchen am Ende des Typs muss ich zweimal hinsehen. Wenn es jedoch rechts vom Leerzeichen direkt am Namen steht, sehe ich es sofort.</p>
<pre><code class="language-cpp">void g(std::vector&lt;int*&gt;::iterator* it);

void g(std::vector&lt;int *&gt;::iterator *it);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2362213</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2362213</guid><dc:creator><![CDATA[TyRoXx]]></dc:creator><pubDate>Tue, 22 Oct 2013 17:34:51 GMT</pubDate></item><item><title><![CDATA[Reply to Stilfrage: T&amp;amp; a oder T &amp;amp;a on Tue, 22 Oct 2013 17:34:43 GMT]]></title><description><![CDATA[<p>Gutes Argument, TyRoXx. Stimme dir zu. War mir vorher noch gar nicht so bewusst, das mit dem Auffallen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2362215</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2362215</guid><dc:creator><![CDATA[theliquidwave]]></dc:creator><pubDate>Tue, 22 Oct 2013 17:34:43 GMT</pubDate></item><item><title><![CDATA[Reply to Stilfrage: T&amp;amp; a oder T &amp;amp;a on Tue, 22 Oct 2013 17:44:21 GMT]]></title><description><![CDATA[<pre><code>T *foo
</code></pre>
<p>Begründung für mich:</p>
<pre><code>T* foo, bar;
static_assert(std::is_same&lt;decltype(foo), decltype(bar)&gt;::value, &quot;Nope&quot;);
</code></pre>
<p>*, &amp;, &amp;&amp; (und bei C++/CLI ^ und <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f635.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--dizzy_face"
      title="%)"
      alt="😵"
    /> gehören zum Namen, nicht zum Typen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2362217</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2362217</guid><dc:creator><![CDATA[*rant*]]></dc:creator><pubDate>Tue, 22 Oct 2013 17:44:21 GMT</pubDate></item><item><title><![CDATA[Reply to Stilfrage: T&amp;amp; a oder T &amp;amp;a on Tue, 22 Oct 2013 17:55:43 GMT]]></title><description><![CDATA[<p>TyRoXx schrieb:</p>
<blockquote>
<p>Wenn man mal den Namen weglässt, sieht eine der beiden Varianten unnötig gequetscht aus:</p>
<pre><code class="language-cpp">void (int&amp;, std::string*)

void (int &amp;, std::string *)
</code></pre>
<p>Gerade als Template-Argument geht ein kleines <code>&amp;</code> oder ein <code>*</code> unter, wenn kein Leerzeichen davor steht.<br />
Bei <code>g</code> finde ich die linke Seite durch den langen Typ sehr unübersichtlich. Für das Sternchen am Ende des Typs muss ich zweimal hinsehen. Wenn es jedoch rechts vom Leerzeichen direkt am Namen steht, sehe ich es sofort.</p>
<pre><code class="language-cpp">void g(std::vector&lt;int*&gt;::iterator* it);

void g(std::vector&lt;int *&gt;::iterator *it);
</code></pre>
</blockquote>
<p>verstehe das Argument nicht</p>
<pre><code class="language-cpp">void g(std::vector&lt;int *&gt;::iterator *it)
//                   ^ das ist das Templateargument, ein Name folgt nicht

void g(std::vector&lt;int *&gt;::iterator *it)
//                                   ^  das ist ein Name, aber der Teil davor kein Templateargument
</code></pre>
<p>/rant/ schrieb:</p>
<blockquote>
<pre><code>T *foo
</code></pre>
<p>Begründung für mich:</p>
<pre><code>T* foo, bar;
static_assert(std::is_same&lt;decltype(foo), decltype(bar)&gt;::value, &quot;Nope&quot;);
</code></pre>
<p>*, &amp;, &amp;&amp; (und bei C++/CLI ^ und <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f635.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--dizzy_face"
      title="%)"
      alt="😵"
    /> gehören zum Namen, nicht zum Typen.</p>
</blockquote>
<p>petitio principii</p>
<p>...Und natürlich gehört const vor den Typ (wo möglich), denn das ist die natürliche Reihenfolge in der Sprache (English), aus der diese Wörter stammen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2362219</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2362219</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Tue, 22 Oct 2013 17:55:43 GMT</pubDate></item><item><title><![CDATA[Reply to Stilfrage: T&amp;amp; a oder T &amp;amp;a on Tue, 22 Oct 2013 18:05:40 GMT]]></title><description><![CDATA[<p>Mit const stimm ich camper zu. Blöd nur, dass das bei Pointern ungedrejt ist.<br />
Bei mir säh ein Pointer so aus:<br />
const * const T foo;<br />
Heißt das was man liest: konstanter Pointer auf konstantes T.<br />
Was T&amp; angeht, hab ich mich noch nicht entschieden, verwend es mal so, mal so.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2362220</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2362220</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Tue, 22 Oct 2013 18:05:40 GMT</pubDate></item><item><title><![CDATA[Reply to Stilfrage: T&amp;amp; a oder T &amp;amp;a on Tue, 22 Oct 2013 18:11:45 GMT]]></title><description><![CDATA[<p>Typdeklarationen liest man von rechts nach links (und von innen nach außen).</p>
<pre><code>T const * const foo;
</code></pre>
<p>foo ist ein konstanter Zeiger auf ein konstantes T.</p>
<p>Deshalb schreibe ich es auch so.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2362221</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2362221</guid><dc:creator><![CDATA[Caligulaminus]]></dc:creator><pubDate>Tue, 22 Oct 2013 18:11:45 GMT</pubDate></item><item><title><![CDATA[Reply to Stilfrage: T&amp;amp; a oder T &amp;amp;a on Tue, 22 Oct 2013 18:14:19 GMT]]></title><description><![CDATA[<p>Nathan schrieb:</p>
<blockquote>
<p>const * const T foo;</p>
</blockquote>
<p>Das ist kein gültiges C++... <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/2362222</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2362222</guid><dc:creator><![CDATA[dot]]></dc:creator><pubDate>Tue, 22 Oct 2013 18:14:19 GMT</pubDate></item><item><title><![CDATA[Reply to Stilfrage: T&amp;amp; a oder T &amp;amp;a on Tue, 22 Oct 2013 18:15:34 GMT]]></title><description><![CDATA[<p>Nathan schrieb:</p>
<blockquote>
<p>Bei mir säh ein Pointer so aus:</p>
</blockquote>
<p>Die Aussage war doch klar:<br />
<strong>Wenn</strong> es nach Nathan ginge, wär's gültig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2362223</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2362223</guid><dc:creator><![CDATA[Caligulaminus]]></dc:creator><pubDate>Tue, 22 Oct 2013 18:15:34 GMT</pubDate></item><item><title><![CDATA[Reply to Stilfrage: T&amp;amp; a oder T &amp;amp;a on Tue, 22 Oct 2013 18:29:03 GMT]]></title><description><![CDATA[<p>Danke, dot, aber ich glaub ich weiß wie man Pointer deklariert. <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="😉"
    /><br />
Man schreibt dazu ein &amp; hinter den Typen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2362225</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2362225</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Tue, 22 Oct 2013 18:29:03 GMT</pubDate></item><item><title><![CDATA[Reply to Stilfrage: T&amp;amp; a oder T &amp;amp;a on Tue, 22 Oct 2013 18:31:11 GMT]]></title><description><![CDATA[<p>mein stil:</p>
<pre><code>T const&amp; d;
T&amp; d;
const T d;
</code></pre>
<p>für mich gehören referenzen usw einfach zum typen (mehrere definitionen in einer zeile sind sowieso das unleserlichste was ich mir vorstellen kann, mach ich nie).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2362227</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2362227</guid><dc:creator><![CDATA[not smart]]></dc:creator><pubDate>Tue, 22 Oct 2013 18:31:11 GMT</pubDate></item><item><title><![CDATA[Reply to Stilfrage: T&amp;amp; a oder T &amp;amp;a on Tue, 22 Oct 2013 18:40:57 GMT]]></title><description><![CDATA[<p>Caligulaminus schrieb:</p>
<blockquote>
<p>Typdeklarationen liest man von rechts nach links (und von innen nach außen).</p>
<pre><code>T const * const foo;
</code></pre>
<p>foo ist ein konstanter Zeiger auf ein konstantes T.</p>
<p>Deshalb schreibe ich es auch so.</p>
</blockquote>
<p>Das zäumt das Pferd von hinten auf. rechts-nach-links ist lediglich, wie die Deklaration interpretiert wird (auch nur als Faustregel, weil es uns so schwer fällt echt rekursiv zu denken). Gelesen wird nat. trotzdem von links nach rechts (schließlich muss Anfang und Ende erfasst werden), denn der Lesefluss bleibt ja weiterhin rechts-nach-links, oben-nach-unten. Ich kann nicht nachvollziehen, dass diese Umkehrung als natürlich oder einfach empfunden wird. <em>Gewöhnen</em> kann man sich selbstverständlich daran.<br />
Eine Variablendefinition benötigt einen 1. Typ, 2. einen Bezeichner, und 3. einen Initialisierer. Deklaratoren an den Namen anzuflanschen, vermischt 1. und 2. und direkte Initialisierung mittels () oder {} hebt auch noch die Trennung zu 3. auf - was zu zusätzlicher mentaler Arbeit führt, weil diese Teil nicht mehr klar optisch getrennt sind. Von der Tatsache, dass uns die Syntax Fälle aufzwingt, in denen diese Vermischung nicht (einfach) vermieden werden kann, führt allerdings keine Schlussregel, die bestimmt, dass dann auch in allen anderen Fällen so vorgegangen werden <em>sollte</em>.</p>
<p>Mehrfachdefinitionen in einer Zeile sind <span class="katex"><span class="katex-mathml"><math><semantics><mrow><msqrt><mrow><mi mathvariant="normal">∀</mi><mi>e</mi><mi>v</mi><mi>i</mi><mi>l</mi></mrow></msqrt></mrow><annotation encoding="application/x-tex">\sqrt{\forall evil}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="strut" style="height:0.93222em;"></span><span class="strut bottom" style="height:1.04em;vertical-align:-0.10778000000000004em;"></span><span class="base textstyle uncramped"><span class="sqrt mord"><span class="sqrt-sign" style="top:-0.09221999999999997em;"><span class="style-wrap reset-textstyle textstyle uncramped">√</span></span><span class="vlist"><span style="top:0em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:1em;">​</span></span><span class="mord textstyle cramped"><span class="mord mathrm">∀</span><span class="mord mathit">e</span><span class="mord mathit" style="margin-right:0.03588em;">v</span><span class="mord mathit">i</span><span class="mord mathit" style="margin-right:0.01968em;">l</span></span></span><span style="top:-0.85222em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:1em;">​</span></span><span class="reset-textstyle textstyle uncramped sqrt-line"></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:1em;">​</span></span>​</span></span></span></span></span></span></p>
<p>Antwort an TE: mach, was du willst (ausser Bekehrungsversuchen), nur einheitlich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2362229</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2362229</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Tue, 22 Oct 2013 18:40:57 GMT</pubDate></item><item><title><![CDATA[Reply to Stilfrage: T&amp;amp; a oder T &amp;amp;a on Tue, 22 Oct 2013 19:03:37 GMT]]></title><description><![CDATA[<p>camper schrieb:</p>
<blockquote>
<p>Ich kann nicht nachvollziehen, dass diese Umkehrung als natürlich oder einfach empfunden wird.</p>
</blockquote>
<p>C++ ist nicht natürlich, ist technisch. Technik ist künstlich - Kunst.<br />
Ich lese Typdeklarationen von rechts nach links. Das mußte ich mir angewöhnen. Daß ich es akzeptiert und verinnerlicht habe, hat mein Programmierer-Dasein spürbar vereinfacht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2362232</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2362232</guid><dc:creator><![CDATA[Caligulaminus]]></dc:creator><pubDate>Tue, 22 Oct 2013 19:03:37 GMT</pubDate></item><item><title><![CDATA[Reply to Stilfrage: T&amp;amp; a oder T &amp;amp;a on Tue, 22 Oct 2013 19:39:24 GMT]]></title><description><![CDATA[<p>camper schrieb:</p>
<blockquote>
<p>Mehrfachdefinitionen in einer Zeile sind <span class="katex"><span class="katex-mathml"><math><semantics><mrow><msqrt><mrow><mi mathvariant="normal">∀</mi><mi>e</mi><mi>v</mi><mi>i</mi><mi>l</mi></mrow></msqrt></mrow><annotation encoding="application/x-tex">\sqrt{\forall evil}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="strut" style="height:0.93222em;"></span><span class="strut bottom" style="height:1.04em;vertical-align:-0.10778000000000004em;"></span><span class="base textstyle uncramped"><span class="sqrt mord"><span class="sqrt-sign" style="top:-0.09221999999999997em;"><span class="style-wrap reset-textstyle textstyle uncramped">√</span></span><span class="vlist"><span style="top:0em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:1em;">​</span></span><span class="mord textstyle cramped"><span class="mord mathrm">∀</span><span class="mord mathit">e</span><span class="mord mathit" style="margin-right:0.03588em;">v</span><span class="mord mathit">i</span><span class="mord mathit" style="margin-right:0.01968em;">l</span></span></span><span style="top:-0.85222em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:1em;">​</span></span><span class="reset-textstyle textstyle uncramped sqrt-line"></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:1em;">​</span></span>​</span></span></span></span></span></span></p>
</blockquote>
<p>Mehrfachdeklarationen in einer Zeile (Funktionsparameter) sind quasi unvermeidbar. Wenn es logisch passt finde ich das sogar empfehlenswert, z.B. iter begin, end;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2362237</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2362237</guid><dc:creator><![CDATA[funkyunicoder]]></dc:creator><pubDate>Tue, 22 Oct 2013 19:39:24 GMT</pubDate></item><item><title><![CDATA[Reply to Stilfrage: T&amp;amp; a oder T &amp;amp;a on Tue, 22 Oct 2013 19:55:30 GMT]]></title><description><![CDATA[<p>funkyunicoder schrieb:</p>
<blockquote>
<p>camper schrieb:</p>
<blockquote>
<p>Mehrfachdefinitionen in einer Zeile sind <span class="katex"><span class="katex-mathml"><math><semantics><mrow><msqrt><mrow><mi mathvariant="normal">∀</mi><mi>e</mi><mi>v</mi><mi>i</mi><mi>l</mi></mrow></msqrt></mrow><annotation encoding="application/x-tex">\sqrt{\forall evil}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="strut" style="height:0.93222em;"></span><span class="strut bottom" style="height:1.04em;vertical-align:-0.10778000000000004em;"></span><span class="base textstyle uncramped"><span class="sqrt mord"><span class="sqrt-sign" style="top:-0.09221999999999997em;"><span class="style-wrap reset-textstyle textstyle uncramped">√</span></span><span class="vlist"><span style="top:0em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:1em;">​</span></span><span class="mord textstyle cramped"><span class="mord mathrm">∀</span><span class="mord mathit">e</span><span class="mord mathit" style="margin-right:0.03588em;">v</span><span class="mord mathit">i</span><span class="mord mathit" style="margin-right:0.01968em;">l</span></span></span><span style="top:-0.85222em;"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:1em;">​</span></span><span class="reset-textstyle textstyle uncramped sqrt-line"></span></span><span class="baseline-fix"><span class="fontsize-ensurer reset-size5 size5"><span style="font-size:1em;">​</span></span>​</span></span></span></span></span></span></p>
</blockquote>
<p>Mehrfachdeklarationen in einer Zeile (Funktionsparameter) sind quasi unvermeidbar. Wenn es logisch passt finde ich das sogar empfehlenswert, z.B. iter begin, end;</p>
</blockquote>
<p>mehrfachdeklarationen in einer zeile bei funktionsargumenten und bei der definition von variablen haben nicht die selbe syntax...</p>
<pre><code>int* a, * b;
void f(int* a, int* b) {}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2362238</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2362238</guid><dc:creator><![CDATA[not smart]]></dc:creator><pubDate>Tue, 22 Oct 2013 19:55:30 GMT</pubDate></item><item><title><![CDATA[Reply to Stilfrage: T&amp;amp; a oder T &amp;amp;a on Wed, 23 Oct 2013 08:42:09 GMT]]></title><description><![CDATA[<p>Hallo camper,</p>
<p>camper schrieb:</p>
<blockquote>
<p>denn der Lesefluss bleibt ja weiterhin rechts-nach-links, oben-nach-unten.</p>
</blockquote>
<p>Editiere dies mal, denn du meinst ja &quot;links-nach-rechts&quot; <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/2362315</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2362315</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Wed, 23 Oct 2013 08:42:09 GMT</pubDate></item></channel></rss>