<?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[Sprachmittel, die ihr nie benutzt]]></title><description><![CDATA[<p>Aus Interesse wollte ich euch mal fragen, welche Sprachmittel ihr (praktisch) nie verwendet. Wichtig ist, dass ich mich hier nur auf C++98 und nicht auf Bibliotheksmittel beziehe. Gesamthaft existieren natürlich etliche Regeln im C++-Standard, von denen man kaum Gebrauch macht. Im Vordergrund sollen einigermassen bekannte und bewusst als Feature aufgefasste Möglichkeiten stehen.</p>
<p><strong>Sprachmittel, die ich nie einsetze:</strong></p>
<ul>
<li>Exception-Spezifikationen</li>
<li>variable Argumentlisten</li>
<li>Speicherklassen-Schlüsselwörter <code>register</code> und <code>auto</code></li>
<li><code>protected</code> -Vererbung</li>
<li>Pointer-to-Member (nicht Memberfunktionszeiger)</li>
<li>Function-Style- und C-Casts</li>
<li>Bitfelder</li>
<li>Digraphen, Trigraphen, alternative Schlüsselwörter ( <code>and</code> etc.)</li>
<li><code>export</code></li>
</ul>
<p><strong>Sehr selten:</strong></p>
<ul>
<li>virtuelle Vererbung</li>
<li>eigene <code>new</code> - und <code>delete</code> -Operatoren</li>
<li>Funktionstemplate-Spezialisierung</li>
<li><code>const_cast</code> , <code>dynamic_cast</code></li>
<li><code>union</code></li>
<li><code>goto</code></li>
<li><code>volatile</code></li>
<li>Arrays</li>
</ul>
<p>Gibt sicher noch mehr, die Listen kann ich ja noch ergänzen... Wie siehts bei euch aus?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/291157/sprachmittel-die-ihr-nie-benutzt</link><generator>RSS for Node</generator><lastBuildDate>Mon, 17 Aug 2026 06:39:51 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/291157.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 11 Aug 2011 21:35:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Sprachmittel, die ihr nie benutzt on Thu, 11 Aug 2011 21:35:10 GMT]]></title><description><![CDATA[<p>Aus Interesse wollte ich euch mal fragen, welche Sprachmittel ihr (praktisch) nie verwendet. Wichtig ist, dass ich mich hier nur auf C++98 und nicht auf Bibliotheksmittel beziehe. Gesamthaft existieren natürlich etliche Regeln im C++-Standard, von denen man kaum Gebrauch macht. Im Vordergrund sollen einigermassen bekannte und bewusst als Feature aufgefasste Möglichkeiten stehen.</p>
<p><strong>Sprachmittel, die ich nie einsetze:</strong></p>
<ul>
<li>Exception-Spezifikationen</li>
<li>variable Argumentlisten</li>
<li>Speicherklassen-Schlüsselwörter <code>register</code> und <code>auto</code></li>
<li><code>protected</code> -Vererbung</li>
<li>Pointer-to-Member (nicht Memberfunktionszeiger)</li>
<li>Function-Style- und C-Casts</li>
<li>Bitfelder</li>
<li>Digraphen, Trigraphen, alternative Schlüsselwörter ( <code>and</code> etc.)</li>
<li><code>export</code></li>
</ul>
<p><strong>Sehr selten:</strong></p>
<ul>
<li>virtuelle Vererbung</li>
<li>eigene <code>new</code> - und <code>delete</code> -Operatoren</li>
<li>Funktionstemplate-Spezialisierung</li>
<li><code>const_cast</code> , <code>dynamic_cast</code></li>
<li><code>union</code></li>
<li><code>goto</code></li>
<li><code>volatile</code></li>
<li>Arrays</li>
</ul>
<p>Gibt sicher noch mehr, die Listen kann ich ja noch ergänzen... Wie siehts bei euch aus?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105065</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105065</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Thu, 11 Aug 2011 21:35:10 GMT</pubDate></item><item><title><![CDATA[Reply to Sprachmittel, die ihr nie benutzt on Thu, 11 Aug 2011 21:53:49 GMT]]></title><description><![CDATA[<p>[<em>]variable Argumentlisten<br />
[</em>]Speicherklassen-Schlüsselwörter <code>register</code> und <code>auto</code><br />
[<em>] <code>protected</code> -Vererbung<br />
[</em>]Pointer-to-Member (nicht Memberfunktionszeiger)<br />
[<em>]Function-Style- und C-Casts &lt;-- wegen grep<br />
[</em>]Bitfelder<br />
[<em>]Digraphen, Trigraphen, alternative Schlüsselwörter ( <code>and</code> etc.)<br />
[</em>] <code>export</code> [/list]<strong>Sehr selten:</strong></p>
<ul>
<li>virtuelle Vererbung</li>
<li>eigene <code>new</code> - und <code>delete</code> -Operatoren</li>
<li><code>union</code></li>
<li><code>goto</code></li>
<li><code>volatile</code></li>
<li>Arrays</li>
</ul>
<p>Gibt sicher noch mehr, die Listen kann ich ja noch ergänzen...<br />
[<em>]vector&lt;bool&gt; &lt;--- fiese bugs die jede menge zeit kosten<br />
[</em>]inline &lt;--- mittlerweile sind compiler schlau genug es selber zu optimieren<br />
[<em>]unsigned statt unsgined int wg. auto int<br />
[</em>]Rückgabe von Roh Zeigern *<br />
[*]Eigenes delete, dafür gibt es shared_ptr, unique_ptr</p>
<p>Um <code>const_cast</code> , <code>dynamic_cast</code> kommt man leider nicht rum wenn man doppelten code in operatoren vermeiden möchte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105074</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105074</guid><dc:creator><![CDATA[asdsad]]></dc:creator><pubDate>Thu, 11 Aug 2011 21:53:49 GMT</pubDate></item><item><title><![CDATA[Reply to Sprachmittel, die ihr nie benutzt on Thu, 11 Aug 2011 22:05:07 GMT]]></title><description><![CDATA[<p>Bei mir wäre die Liste ein wenig länger - aber das könnte auch daran liegen, daß ich im täglichen Einsatz nichts mit C++ zu tun habe <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>
<p>Aber ansonsten fallen mir als kaum bis gar nicht genutzte Features noch Funktionszeiger, #define (außer für Include-Guards) und globale Variablen ein (letztere aus Prinzip und wegen der dadurch möglichen Nebeneffekte).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105077</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105077</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 11 Aug 2011 22:05:07 GMT</pubDate></item><item><title><![CDATA[Reply to Sprachmittel, die ihr nie benutzt on Thu, 11 Aug 2011 22:08:24 GMT]]></title><description><![CDATA[<p>asdsad schrieb:</p>
<blockquote>
<p>vector&lt;bool&gt; &lt;--- fiese bugs die jede menge zeit kosten</p>
</blockquote>
<p>Ist ein Bibliotheks- und kein Sprachmittel.</p>
<p>asdsad schrieb:</p>
<blockquote>
<p>inline &lt;--- mittlerweile sind compiler schlau genug es selber zu optimieren</p>
</blockquote>
<p>Brauche ich nicht zur Optimierung, aber um Funktionen im Header definieren zu können (für Header-Only-Funktionalität)</p>
<p>asdsad schrieb:</p>
<blockquote>
<p>Rückgabe von Roh Zeigern *</p>
</blockquote>
<p>Brauche ich schon ab und zu. Ich sehe auch nichts, was dagegen spricht, wenn der Zeiger keinen Besitz überträgt.</p>
<p>asdsad schrieb:</p>
<blockquote>
<p>Eigenes delete, dafür gibt es shared_ptr, unique_ptr</p>
</blockquote>
<p>Ja, <code>delete</code> benutze ich im Anwendungscode auch recht wenig, <code>delete[]</code> noch viel weniger. Aber ich habe in letzter Zeit einige Low-Level-Dinge wie Smart-Pointer implementiert.</p>
<p>asdsad schrieb:</p>
<blockquote>
<p>Um <code>const_cast</code> , <code>dynamic_cast</code> kommt man leider nicht rum wenn man doppelten code in operatoren vermeiden möchte.</p>
</blockquote>
<p><code>dynamic_cast</code> brauchst du dazu nicht. Und bei mir sind solche Operatoren wohl meist trivial genug gewesen, um Code zu duplizieren...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105078</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105078</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Thu, 11 Aug 2011 22:08:24 GMT</pubDate></item><item><title><![CDATA[Reply to Sprachmittel, die ihr nie benutzt on Thu, 11 Aug 2011 22:11:17 GMT]]></title><description><![CDATA[<p>Wenn ich pur C++ programmiere, dann verwende ich selten...</p>
<p>- char* btw. char[] (stattdessen die string-Klasse)<br />
- defines<br />
- structs<br />
- protected Vererbung</p>
<p>Da fallen mir noch ein dutzend mehr Dinge ein. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105081</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105081</guid><dc:creator><![CDATA[satanfreze]]></dc:creator><pubDate>Thu, 11 Aug 2011 22:11:17 GMT</pubDate></item><item><title><![CDATA[Reply to Sprachmittel, die ihr nie benutzt on Thu, 11 Aug 2011 22:15:02 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>Funktionszeiger</p>
</blockquote>
<p>Brauche ich oft – meist um sie gleich in eine <code>std::function</code> zu stecken, aber von Zeit zu Zeit werden sie auch direkt abgespeichert.</p>
<p>CStoll schrieb:</p>
<blockquote>
<p>#define (außer für Include-Guards)</p>
</blockquote>
<p>Habe ich auch ab und zu. Nicht nur für Konfiguration und bedingte Kompilierung, sondern auch, um Boilerplate-Code wie Traits-Spezialisierungen anwenderfreundlich zu machen.</p>
<p>CStoll schrieb:</p>
<blockquote>
<p>globale Variablen ein (letztere aus Prinzip und wegen der dadurch möglichen Nebeneffekte).</p>
</blockquote>
<p>Konstanten habe ich manchmal, vor allem in .cpp-Dateien. Ich weiss nicht, ob du zu den Leuten gehörst, für die Konstanten keine Variablen sind <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>
<p>satanfreze schrieb:</p>
<blockquote>
<p>- char* btw. char[]</p>
</blockquote>
<p>Benutze ich für Stringliterale.</p>
<p>satanfreze schrieb:</p>
<blockquote>
<p>- structs</p>
</blockquote>
<p>Habe ich andauernd für Funktoren und kleine Hilfsklassen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105083</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105083</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Thu, 11 Aug 2011 22:15:02 GMT</pubDate></item><item><title><![CDATA[Reply to Sprachmittel, die ihr nie benutzt on Thu, 11 Aug 2011 22:17:54 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Brauche ich schon ab und zu. Ich sehe auch nichts, was dagegen spricht, wenn der Zeiger keinen Besitz überträgt.</p>
</blockquote>
<pre><code class="language-cpp">const Objekt const * GetConstMember() const;
...
Objekt * tmp = const_cast&lt;Objekt *&gt;(GetConstMember());
delete tmp; // Futsch ist der const Member
</code></pre>
<p><code>dynamic_cast</code> &lt;-- ist irgendwie dazwischengerutscht</p>
<p>Nexus schrieb:</p>
<blockquote>
<p>Und bei mir sind solche Operatoren wohl meist trivial genug gewesen, um Code zu duplizieren...</p>
</blockquote>
<p>Wenn man einen [] hat der einmal ein eine const memberfunktion und einmal zuordnung ist muss man zwangsläufig duplizieren oder const_casten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105085</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105085</guid><dc:creator><![CDATA[asdsad]]></dc:creator><pubDate>Thu, 11 Aug 2011 22:17:54 GMT</pubDate></item><item><title><![CDATA[Reply to Sprachmittel, die ihr nie benutzt on Thu, 11 Aug 2011 22:20:19 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>CStoll schrieb:</p>
<blockquote>
<p>globale Variablen ein (letztere aus Prinzip und wegen der dadurch möglichen Nebeneffekte).</p>
</blockquote>
<p>Konstanten habe ich manchmal, vor allem in .cpp-Dateien. Ich weiss nicht, ob du zu den Leuten gehörst, für die Konstanten keine Variablen sind <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>
</blockquote>
<p>globale Konstanten halte ich für unproblematisch, Variablen (in dem Sinn, daß sich ihr Wert ändern kann) führen schnell zu Spagetti-Code und endlosen Debugging-Sitzungen, weil du nicht einschränken kannst, wo sie tatsächlich genutzt und verändert werden (häufig an einer Stelle, die mit dem eigentlichen Problem gar nichts zu tun haben sollte).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105087</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105087</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 11 Aug 2011 22:20:19 GMT</pubDate></item><item><title><![CDATA[Reply to Sprachmittel, die ihr nie benutzt on Thu, 11 Aug 2011 22:42:49 GMT]]></title><description><![CDATA[<p>asdsad schrieb:</p>
<blockquote>
<pre><code class="language-cpp">Objekt * tmp = const_cast&lt;Objekt *&gt;(GetConstMember());
delete tmp; // Futsch ist der const Member
</code></pre>
</blockquote>
<p>Wer ohne zu denken <code>delete</code> auf Zeiger anwendet, nimmt die Probleme geradezu in Kauf. Als Bibliotheksentwickler kann man doch nicht auf solche Leute Rücksicht nehmen. Übrigens brauchst du dafür nicht mal <code>const_cast</code> .</p>
<p>asdsad schrieb:</p>
<blockquote>
<p>Wenn man einen [] hat der einmal ein eine const memberfunktion und einmal zuordnung ist muss man zwangsläufig duplizieren oder const_casten.</p>
</blockquote>
<p>Lustig, jetzt habe ich tatsächlich gerade eine Codestelle entdeckt, wo ich etwa 5 Zeilen Code dupliziere, allerdings kein Operator. Könnte ich mir echt <code>const_cast</code> überlegen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>CStoll schrieb:</p>
<blockquote>
<p>globale [...] Variablen [...] führen schnell zu Spagetti-Code und endlosen Debugging-Sitzungen</p>
</blockquote>
<p>Völlig einverstanden <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/2105101</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105101</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Thu, 11 Aug 2011 22:42:49 GMT</pubDate></item><item><title><![CDATA[Reply to Sprachmittel, die ihr nie benutzt on Thu, 11 Aug 2011 23:09:43 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<ul>
<li>Exception-Spezifikationen <strong>Ebenfalls nicht.</strong></li>
<li>variable Argumentlisten <strong>Nur für Meta-Programming.</strong></li>
<li>Speicherklassen-Schlüsselwörter <code>register</code> und <code>auto</code> <strong>Ebenfalls nicht.</strong></li>
<li><code>protected</code> -Vererbung <strong>Ebenfalls nicht.</strong></li>
<li>Pointer-to-Member (nicht Memberfunktionszeiger) <strong>Ebenfalls nicht.</strong></li>
<li>Function-Style- und C-Casts <strong>Ebenfalls nicht.</strong></li>
<li>Bitfelder <strong>Extrem selten. Wenn ich mal bools packen möchte und Namen dazu haben will.</strong></li>
<li>Digraphen, Trigraphen, alternative Schlüsselwörter ( <code>and</code> etc.) <strong>Ebenfalls nicht.</strong></li>
<li><code>export</code> <strong>Ebenfalls nicht.</strong></li>
</ul>
<p><strong>Sehr selten:</strong></p>
<ul>
<li>virtuelle Vererbung <strong>Gar nicht.</strong></li>
<li>eigene <code>new</code> - und <code>delete</code> -Operatoren <strong>Ebenfalls selten.</strong></li>
<li>Funktionstemplate-Spezialisierung <strong>Das sagt mir jetzt nichts. Vermutlich erkenne ich's soofort, wenn ich's sehe.</strong></li>
<li><code>const_cast</code> , <code>dynamic_cast</code> <strong>const_cast noch nie, danymic_cast sehr selten.</strong></li>
<li><code>union</code> <strong>Gelegentlich.</strong></li>
<li><code>goto</code> <strong>Nie.</strong></li>
<li><code>volatile</code> <strong>Annähernd nie.</strong></li>
<li>Arrays <em><em>Für const char</em> [], die zur Compilezeit bekannt sind. Ansonsten nicht.</em>*</li>
</ul>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/2105114</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105114</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Thu, 11 Aug 2011 23:09:43 GMT</pubDate></item><item><title><![CDATA[Reply to Sprachmittel, die ihr nie benutzt on Fri, 12 Aug 2011 01:18:15 GMT]]></title><description><![CDATA[<p>Wurde die Symmetrie des eingebauten Indexing Operators schon genannt?</p>
<p>Also dass <code>pointer[index]</code> einfach zu <code>*(pointer+index)</code> wird, und man es daher auch als <code>index[pointer]</code> schreiben kann?</p>
<p>Das ist nämlich auch was was ich nie verwende.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105132</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105132</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Fri, 12 Aug 2011 01:18:15 GMT</pubDate></item><item><title><![CDATA[Reply to Sprachmittel, die ihr nie benutzt on Fri, 12 Aug 2011 01:31:30 GMT]]></title><description><![CDATA[<p>Interessanter wird es doch bei der Frage: Auf was könntet ihr verzichten? Also bei mir wären da nur Trigraphen, register, auto. Wobei auto von C++11 wohl eh eine neue Bedeutung bekommt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105135</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105135</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Fri, 12 Aug 2011 01:31:30 GMT</pubDate></item><item><title><![CDATA[Reply to Sprachmittel, die ihr nie benutzt on Fri, 12 Aug 2011 07:43:38 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>Wurde die Symmetrie des eingebauten Indexing Operators schon genannt?</p>
</blockquote>
<p>Es ist eher die Symmetrie des eingebauten Plus-Operators.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105176</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105176</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Fri, 12 Aug 2011 07:43:38 GMT</pubDate></item><item><title><![CDATA[Reply to Sprachmittel, die ihr nie benutzt on Fri, 12 Aug 2011 07:57:31 GMT]]></title><description><![CDATA[<p><strong>Sprachmittel, die ich nie einsetze:</strong></p>
<ul>
<li>Exception-Spezifikationen</li>
<li>variable Argumentlisten</li>
<li>Speicherklassen-Schlüsselwörter <code>register</code> und <code>auto</code></li>
<li><code>protected</code> -Vererbung</li>
<li>Pointer-to-Member (nicht Memberfunktionszeiger)</li>
<li>Bitfelder</li>
<li>Digraphen, Trigraphen, alternative Schlüsselwörter ( <code>and</code> etc.)</li>
<li><code>export</code></li>
<li>eigene <code>new</code> - und <code>delete</code> -Operatoren</li>
<li><code>union</code></li>
<li><code>goto</code></li>
<li><code>volatile</code></li>
<li>Arrays</li>
<li>C-String</li>
</ul>
<p><strong>Sprachmittel, die ich selten einsetze:</strong></p>
<ul>
<li>Globale Variablen (und wenn auch nur für Objekt-Registrierung an anderen Klassen, oder Konstanten).</li>
<li>#define (Nur für Headerguards und bedingte Compilierung, niemals für Konstanten und Funktionsersatz)</li>
<li>delete (In der Regel ziehe ich Smartpointer wie scoped_ptr/unique_ptr &amp; Co vor).</li>
</ul>
]]></description><link>https://www.c-plusplus.net/forum/post/2105184</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105184</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Fri, 12 Aug 2011 07:57:31 GMT</pubDate></item><item><title><![CDATA[Reply to Sprachmittel, die ihr nie benutzt on Fri, 12 Aug 2011 08:32:23 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>hustbaer schrieb:</p>
<blockquote>
<p>Wurde die Symmetrie des eingebauten Indexing Operators schon genannt?</p>
</blockquote>
<p>Es ist eher die Symmetrie des eingebauten Plus-Operators.</p>
</blockquote>
<p>Hihi, OK.<br />
Dann eben dass der Indexing-Operator auf <code>*(a+b)</code> abgebildet wird.<br />
Und Symmetrie ist sicher auch der falsche Ausdruck, aber ich glaube ihr versteht was ich meine.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105204</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105204</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Fri, 12 Aug 2011 08:32:23 GMT</pubDate></item><item><title><![CDATA[Reply to Sprachmittel, die ihr nie benutzt on Fri, 12 Aug 2011 08:36:08 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>volkard schrieb:</p>
<blockquote>
<p>hustbaer schrieb:</p>
<blockquote>
<p>Wurde die Symmetrie des eingebauten Indexing Operators schon genannt?</p>
</blockquote>
<p>Es ist eher die Symmetrie des eingebauten Plus-Operators.</p>
</blockquote>
<p>Hihi, OK.<br />
Dann eben dass der Indexing-Operator auf <code>*(a+b)</code> abgebildet wird.</p>
</blockquote>
<p>Das ist soweit eigentlich OK, es ist wirklich die Kommutativität von +, die nicht immer sinnvoll ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105206</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105206</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Fri, 12 Aug 2011 08:36:08 GMT</pubDate></item><item><title><![CDATA[Reply to Sprachmittel, die ihr nie benutzt on Fri, 12 Aug 2011 08:42:22 GMT]]></title><description><![CDATA[<p>Bashar schrieb:</p>
<blockquote>
<p>Das ist soweit eigentlich OK, es ist wirklich die Kommutativität von +, die nicht immer sinnvoll ist.</p>
</blockquote>
<p>Wo sonst? Und findest du die Nicht-Kommutativität bei <code>std::string</code> sinnvoll?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105211</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105211</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 12 Aug 2011 08:42:22 GMT</pubDate></item><item><title><![CDATA[Reply to Sprachmittel, die ihr nie benutzt on Fri, 12 Aug 2011 08:45:27 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Bashar schrieb:</p>
<blockquote>
<p>Das ist soweit eigentlich OK, es ist wirklich die Kommutativität von +, die nicht immer sinnvoll ist.</p>
</blockquote>
<p>Wo sonst? Und findest du die Nicht-Kommutativität bei <code>std::string</code> sinnvoll?</p>
</blockquote>
<p>Da war die Wahl de Zeichens '+' eine unglückliche Wahl.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105215</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105215</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Fri, 12 Aug 2011 08:45:27 GMT</pubDate></item><item><title><![CDATA[Reply to Sprachmittel, die ihr nie benutzt on Fri, 12 Aug 2011 08:49:15 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Bashar schrieb:</p>
<blockquote>
<p>Das ist soweit eigentlich OK, es ist wirklich die Kommutativität von +, die nicht immer sinnvoll ist.</p>
</blockquote>
<p>Wo sonst? Und findest du die Nicht-Kommutativität bei <code>std::string</code> sinnvoll?</p>
</blockquote>
<p>Ja klar, warum nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105221</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105221</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Fri, 12 Aug 2011 08:49:15 GMT</pubDate></item><item><title><![CDATA[Reply to Sprachmittel, die ihr nie benutzt on Fri, 12 Aug 2011 09:03:32 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>Nexus schrieb:</p>
<blockquote>
<p>Wo sonst? Und findest du die Nicht-Kommutativität bei <code>std::string</code> sinnvoll?</p>
</blockquote>
<p>Da war die Wahl de Zeichens '+' eine unglückliche Wahl.</p>
</blockquote>
<p>Das ist Geschmackssache, ich finde es jedenfalls durchaus intuitiv bei der Anwendung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105232</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105232</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Fri, 12 Aug 2011 09:03:32 GMT</pubDate></item><item><title><![CDATA[Reply to Sprachmittel, die ihr nie benutzt on Fri, 12 Aug 2011 09:15:53 GMT]]></title><description><![CDATA[<p>asc schrieb:</p>
<blockquote>
<p>Das ist Geschmackssache, ich finde es jedenfalls durchaus intuitiv bei der Anwendung.</p>
</blockquote>
<p>Ich finde . und &amp; auch nicht schlecht, in Basic-Dialekten, wo + und &amp; gehen, bevorzuge ich &amp;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105239</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105239</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Fri, 12 Aug 2011 09:15:53 GMT</pubDate></item><item><title><![CDATA[Reply to Sprachmittel, die ihr nie benutzt on Fri, 12 Aug 2011 09:29:17 GMT]]></title><description><![CDATA[<p>Hier auch mal mein Senf, falls es jemandem interessiert:<br />
<strong>Sprachmittel, die ich nie einsetze:</strong></p>
<ul>
<li>Exception-Spezifikationen</li>
<li>variable Argumentlisten</li>
<li>Speicherklassen-Schlüsselwörter <code>register</code> und <code>auto</code> (in seiner alten Bedeutung)</li>
<li>Pointer-to-Member (nicht Memberfunktionszeiger) (nur mal versehentlich, als ich einem Compilerfehler begegnet bin)</li>
<li>Function-Style- und C-Casts</li>
<li>Bitfelder</li>
<li>Digraphen, Trigraphen <strong>(man beachte, dass ich die alternativen Schlüsselwörter ausdrücklich benutze!)</strong></li>
<li><code>export</code></li>
<li>eigene <code>new</code> - und <code>delete</code> -Operatoren</li>
<li><code>dynamic_cast</code></li>
<li><code>union</code></li>
<li><code>goto</code> , Labels</li>
<li><code>volatile</code></li>
<li>Inline-Assembler</li>
<li><code>wchar_t</code> , wide Strings &amp; Co.</li>
<li>Lokale Klassen (d.h. Klassen in Funktionen, nicht Klassen in Klassen)</li>
<li><code>operator-&gt;*</code> , <code>operator~</code></li>
<li>Überladung von: <code>operator-&gt;*</code> , <code>operator&amp;</code> , <code>operator~</code> , <code>operator+</code> (unär), logische Verknüpfungsoperatoren.</li>
<li>Präprozessordirektiven: #line, #error, Nulldirektive <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="😃"
    /> , im Standard vordefinierte Makros (die sind total nutzlos!)</li>
</ul>
<p><strong>Sehr selten:</strong></p>
<ul>
<li>virtuelle Vererbung</li>
<li>Funktionstemplate-Spezialisierung</li>
<li><code>const_cast</code></li>
<li>Arrays</li>
<li><code>switch</code> Ja, kaum zu glauben, aber es kommt einfach nie vor, außer bei Hausaufgaben im Forum.</li>
<li><code>mutable</code></li>
<li><code>explicit</code> Auch kaum zu glauben. Aber meine Konstruktoren haben irgendwie immer entweder 2+-Argumente oder sollen tatsächlich implizit sein.</li>
<li>float, short, signed char, long double</li>
<li><code>continue</code></li>
<li>Überladung von: <code>operator,</code> , <code>operator-</code> (unär)</li>
</ul>
<p>Das ist meine Liste nach Durchgehen der Beiträge hier im Thread und Lesen der Überschriften im Standard bis Kapitel 17 (wo die Sprachbibliothek losgeht).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105247</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105247</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 12 Aug 2011 09:29:17 GMT</pubDate></item><item><title><![CDATA[Reply to Sprachmittel, die ihr nie benutzt on Fri, 12 Aug 2011 09:32:31 GMT]]></title><description><![CDATA[<p>Ich kann im Wesentlichen Nexus zustimmen. Kleine Unterschiede/Ergänzungen:</p>
<p>- Pointer-to-Member: Kommen hin- und wieder mal vor in Verbindung mit bind.<br />
- Spezialisierung von Funktions-Templates: Nie.<br />
- volatile: Nie.<br />
- Polymorphe Basisklassen sind immer abstrakt bei mir.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105250</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105250</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Fri, 12 Aug 2011 09:32:31 GMT</pubDate></item><item><title><![CDATA[Reply to Sprachmittel, die ihr nie benutzt on Fri, 12 Aug 2011 15:03:22 GMT]]></title><description><![CDATA[<p>SeppJ, du hast noch einiges aufgezählt, das ich auch nie verwende. Z.B. Inline-Assembler, funktionslokale Klassen (deren Schicksal ist mit Lambdas eh besiegelt) und <code>#line</code> . Operatoren und Typen verwende ich auch nicht alle. Und die Nulldirektive kannte ich gar nicht, muss ich von nun an öfter einsetzen <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>
<p>Aber wenn ich den C++-Standard kürzen müsste, würde ich wahrscheinlich mit all den alternativen Schreibweisen anfangen (besonders Di/Trigraphen benutzt eh niemand, und für die Schlüsselwörter reichen auch Makros :p). Exception-Spezifikationen sind wenigstens bald deprecated, <code>export</code> wird ganz entfernt. Bei VarArgs oder <code>register</code> wirds wohl wegen C-Kompatibilität noch ewig dauern, falls die überhaupt jemals rausfliegen. Der Rest sollte okay sein, auch wenn ich persönlich nicht Gebrauch davon mache.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105420</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105420</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 12 Aug 2011 15:03:22 GMT</pubDate></item><item><title><![CDATA[Reply to Sprachmittel, die ihr nie benutzt on Fri, 12 Aug 2011 15:08:10 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Und die Nulldirektive kannte ich gar nicht, muss ich von nun an öfter einsetzen <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>
</blockquote>
<p>Ja, die war mir auch neu, ich bin nur im Standard drüber gestolpert und musst erst einmal lesen, was das überhaupt ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105423</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105423</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 12 Aug 2011 15:08:10 GMT</pubDate></item><item><title><![CDATA[Reply to Sprachmittel, die ihr nie benutzt on Tue, 16 Aug 2011 10:06:29 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Exception-Spezifikationen sind wenigstens bald deprecated, <code>export</code> wird ganz entfernt.</p>
</blockquote>
<p>Good point. Aber wieso ist im neuen Standard <code>noexcept</code> drin? Tut es nicht genau das selbe?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2106679</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2106679</guid><dc:creator><![CDATA[exceptthis]]></dc:creator><pubDate>Tue, 16 Aug 2011 10:06:29 GMT</pubDate></item></channel></rss>