<?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[Benutzerdefinierte Stringliterale]]></title><description><![CDATA[<p>Hi,</p>
<p>bin gerade auf <a href="http://pyevolve.sourceforge.net/wordpress/?p=2104" rel="nofollow">diesen Blog-Eintrag</a> gestoßen und will ihn euch nicht vorenthalten.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/296005/benutzerdefinierte-stringliterale</link><generator>RSS for Node</generator><lastBuildDate>Sat, 15 Aug 2026 05:11:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/296005.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 26 Nov 2011 10:13:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Benutzerdefinierte Stringliterale on Sat, 26 Nov 2011 10:13:00 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>bin gerade auf <a href="http://pyevolve.sourceforge.net/wordpress/?p=2104" rel="nofollow">diesen Blog-Eintrag</a> gestoßen und will ihn euch nicht vorenthalten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2149020</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2149020</guid><dc:creator><![CDATA[C++11 Fanboy]]></dc:creator><pubDate>Sat, 26 Nov 2011 10:13:00 GMT</pubDate></item><item><title><![CDATA[Reply to Benutzerdefinierte Stringliterale on Sat, 26 Nov 2011 12:07:14 GMT]]></title><description><![CDATA[<p>Leider ist im Standard kein einziger solcher operator drin. Ich hätte schon wieder sooooo viele Ideen, was man da alles machen könnte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2149089</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2149089</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Sat, 26 Nov 2011 12:07:14 GMT</pubDate></item><item><title><![CDATA[Reply to Benutzerdefinierte Stringliterale on Sat, 26 Nov 2011 12:08:57 GMT]]></title><description><![CDATA[<p>314159265358979 schrieb:</p>
<blockquote>
<p>Leider ist im Standard kein einziger solcher operator drin. Ich hätte schon wieder sooooo viele Ideen, was man da alles machen könnte.</p>
</blockquote>
<p>Ja? Dann lass doch mal sehen. Bei mir sind das nur ganz neue Ideen zur Code-Confusion. <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/2149094</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2149094</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Sat, 26 Nov 2011 12:08:57 GMT</pubDate></item><item><title><![CDATA[Reply to Benutzerdefinierte Stringliterale on Sat, 26 Nov 2011 12:12:58 GMT]]></title><description><![CDATA[<p>Ich würde wohl einen Header &lt;units&gt; einführen, der eine Klasse zum typsicheren Arbeiten mit Einheiten enthält. (Dich z.B. daran hindert, meter und kilogramm zu addieren.) Da könnte man schon für jede SI-Basiseinheit einen solchen operator einführen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2149096</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2149096</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Sat, 26 Nov 2011 12:12:58 GMT</pubDate></item><item><title><![CDATA[Reply to Benutzerdefinierte Stringliterale on Sat, 26 Nov 2011 12:19:31 GMT]]></title><description><![CDATA[<p>Ich warte ja auf <code>(3.14159265358979).cos()</code></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2149103</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2149103</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sat, 26 Nov 2011 12:19:31 GMT</pubDate></item><item><title><![CDATA[Reply to Benutzerdefinierte Stringliterale on Sat, 26 Nov 2011 12:22:32 GMT]]></title><description><![CDATA[<p>Ist doch sicher perfekt um schöne Fallen einzubauen. <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/2149106</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2149106</guid><dc:creator><![CDATA[Ethon]]></dc:creator><pubDate>Sat, 26 Nov 2011 12:22:32 GMT</pubDate></item><item><title><![CDATA[Reply to Benutzerdefinierte Stringliterale on Sat, 26 Nov 2011 12:29:37 GMT]]></title><description><![CDATA[<p>Laut Wikipedia ist es in C++11 bzw. wird enthalten sein (ist noch in Zukunftsform geschrieben). Sicher, dass es nicht drin ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2149113</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2149113</guid><dc:creator><![CDATA[C++11 Fanboy]]></dc:creator><pubDate>Sat, 26 Nov 2011 12:29:37 GMT</pubDate></item><item><title><![CDATA[Reply to Benutzerdefinierte Stringliterale on Sat, 26 Nov 2011 12:42:47 GMT]]></title><description><![CDATA[<p>Sind drin.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2149120</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2149120</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Sat, 26 Nov 2011 12:42:47 GMT</pubDate></item><item><title><![CDATA[Reply to Benutzerdefinierte Stringliterale on Sat, 26 Nov 2011 12:55:02 GMT]]></title><description><![CDATA[<p>Das tolle an den Operatoren ist ja, dass man auch andere Zeichen als die aus dem Standard-Zeichensatz verwenden kann, beispielsweise π.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2149128</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2149128</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Sat, 26 Nov 2011 12:55:02 GMT</pubDate></item><item><title><![CDATA[Reply to Benutzerdefinierte Stringliterale on Sat, 26 Nov 2011 13:31:08 GMT]]></title><description><![CDATA[<p>314159265358979 schrieb:</p>
<blockquote>
<p>Das tolle an den Operatoren ist ja, dass man auch andere Zeichen als die aus dem Standard-Zeichensatz verwenden kann, beispielsweise π.</p>
</blockquote>
<p>Jein. Der operator darf irgendein <em>identifier</em> sein. Die dürfen aus den bekannten <em>digits</em>, <em>non-digits</em>, <em>universal-character-names</em> und weiteren, implementation-defined characters bestehen. Wobei es allerdings auch wieder implementation-defined ist, welche &quot;physical source file character&quot; in einen <em>universal-character-name</em> übersetzt werden.</p>
<p>Es gibt also drei Möglichkeiten:<br />
a) Die Implementation setzt laut [lex.phases, 1] Π beim Parsen in einen \uXXXXXXXX um (d.h. man darf Π auch in string-literalen und character-literalen benutzen)<br />
b) Die Implementation nimmt die genannte Umwandlung nicht vor, erlaubt Π aber als Teil eine <em>identifiers</em> ([<a href="http://lex.name" rel="nofollow">lex.name</a>]). D.h. es darf in string/char-Literalen nicht vorkommen, wohl aber als Identifier und damit auch als Literal-Suffix<br />
c) Die Implementation tut auch das nicht, dann ist Π als Literalsuffix nicht erlaubt.</p>
<p>So oder so ist es also implementation defined, man darfs aber genauso für Funktionsnamen, Variablennamen, Klassennamen usw. benutzen - wenns die implementation erlaubt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2149147</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2149147</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Sat, 26 Nov 2011 13:31:08 GMT</pubDate></item><item><title><![CDATA[Reply to Benutzerdefinierte Stringliterale on Sat, 26 Nov 2011 13:37:09 GMT]]></title><description><![CDATA[<p>Weiss jemand, wie man Literale (z.B. lit) in einem Namensraum Ns verwenden kann ohne using namespace Ns; zu machen? Etwa 42Ns::lit!?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2149151</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2149151</guid><dc:creator><![CDATA[litterist]]></dc:creator><pubDate>Sat, 26 Nov 2011 13:37:09 GMT</pubDate></item><item><title><![CDATA[Reply to Benutzerdefinierte Stringliterale on Sat, 26 Nov 2011 13:42:44 GMT]]></title><description><![CDATA[<p>litterist schrieb:</p>
<blockquote>
<p>Weiss jemand, wie man Literale (z.B. lit) in einem Namensraum Ns verwenden kann ohne using namespace Ns;</p>
</blockquote>
<p>Spontan würde ich using Ns::lit vermuten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2149155</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2149155</guid><dc:creator><![CDATA[ipsec]]></dc:creator><pubDate>Sat, 26 Nov 2011 13:42:44 GMT</pubDate></item><item><title><![CDATA[Reply to Benutzerdefinierte Stringliterale on Sat, 26 Nov 2011 13:49:06 GMT]]></title><description><![CDATA[<p>ipsec schrieb:</p>
<blockquote>
<p>Spontan würde ich using Ns::lit vermuten.</p>
</blockquote>
<p>Dachte ich auch, kanns aber nicht überprüfen. Trotzdem ist das etwas umständlich. Es leitet sogar zur These, dass nur Literale im globalen Namensraum sinnvoll einsetzbar sind, woraus folgt, dass sie von Bibliotheken nicht verwendet werden sollten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2149159</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2149159</guid><dc:creator><![CDATA[litterist]]></dc:creator><pubDate>Sat, 26 Nov 2011 13:49:06 GMT</pubDate></item><item><title><![CDATA[Reply to Benutzerdefinierte Stringliterale on Sat, 26 Nov 2011 13:51:27 GMT]]></title><description><![CDATA[<p>litterist schrieb:</p>
<blockquote>
<p>Weiss jemand, wie man Literale (z.B. lit) in einem Namensraum Ns verwenden kann ohne using namespace Ns; zu machen? Etwa 42Ns::lit!?</p>
</blockquote>
<p>Vermutlich läuft das aufs gleiche bei raus wie bei allen anderen Operatoren. Die kann man in einem fremden NS benutzen wenn<br />
a) per ADL in den richtigen Namespace geschaut wird, oder<br />
b) per using-Direktive der ganze Namespace oder<br />
c) nur der Operator bekannt gemacht wird. (z.B. using Ns::operator+)</p>
<p>a) greift hier nie, weil die Argumente builtin-Literale sind<br />
b) willst du nicht<br />
c)</p>
<pre><code class="language-cpp">using Ns::operator &quot;&quot; lit;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2149160</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2149160</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Sat, 26 Nov 2011 13:51:27 GMT</pubDate></item></channel></rss>