<?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[Verstehe Mini-Makro nicht]]></title><description><![CDATA[<p>Es geht um folgendes:</p>
<pre><code class="language-cpp">#define MDL_STR(SYM) #SYM
</code></pre>
<p>Was macht das Ding?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/308720/verstehe-mini-makro-nicht</link><generator>RSS for Node</generator><lastBuildDate>Wed, 05 Aug 2026 15:15:17 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/308720.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 03 Oct 2012 18:15:23 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Verstehe Mini-Makro nicht on Wed, 03 Oct 2012 18:15:23 GMT]]></title><description><![CDATA[<p>Es geht um folgendes:</p>
<pre><code class="language-cpp">#define MDL_STR(SYM) #SYM
</code></pre>
<p>Was macht das Ding?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2256805</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2256805</guid><dc:creator><![CDATA[shisha]]></dc:creator><pubDate>Wed, 03 Oct 2012 18:15:23 GMT</pubDate></item><item><title><![CDATA[Reply to Verstehe Mini-Makro nicht on Wed, 03 Oct 2012 18:23:14 GMT]]></title><description><![CDATA[<blockquote>
<p>Each # preprocessing token in the replacement list for a function-like macro shall be followed by a parameter as the next preprocessing token in the replacement list.</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/2256807</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2256807</guid><dc:creator><![CDATA[obermotz]]></dc:creator><pubDate>Wed, 03 Oct 2012 18:23:14 GMT</pubDate></item><item><title><![CDATA[Reply to Verstehe Mini-Makro nicht on Wed, 03 Oct 2012 18:46:25 GMT]]></title><description><![CDATA[<pre><code>f(MDL_STR(hallo));
</code></pre>
<p>wird zu</p>
<pre><code>f(&quot;hallo&quot;);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2256815</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2256815</guid><dc:creator><![CDATA[Macrose]]></dc:creator><pubDate>Wed, 03 Oct 2012 18:46:25 GMT</pubDate></item><item><title><![CDATA[Reply to Verstehe Mini-Makro nicht on Wed, 03 Oct 2012 18:46:37 GMT]]></title><description><![CDATA[<p>Es setzt SYM in Anführungszeichen.</p>
<pre><code class="language-cpp">MDL_STR(int) -&gt; &quot;int&quot;
</code></pre>
<p>Falsches Forum.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2256816</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2256816</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Wed, 03 Oct 2012 18:46:37 GMT</pubDate></item><item><title><![CDATA[Reply to Verstehe Mini-Makro nicht on Wed, 03 Oct 2012 19:07:34 GMT]]></title><description><![CDATA[<p>Sone schrieb:</p>
<blockquote>
<p>Falsches Forum.</p>
</blockquote>
<p>Wieso? Bietet C++ eine moderne Alternative zu #-Makros?</p>
<p>Ich finde zu C++ gehoert auch C und deswegen sollte man hier schon auch mal C spezifische Fragen stellen koennen - ansonsten besteht die Gefahr, dass man im C-Forum mit irgendwelchem C-Zeug zugebombt wird anstatt eine Loesung fuer C++ zu bekommen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2256819</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2256819</guid><dc:creator><![CDATA[C++ _ public C]]></dc:creator><pubDate>Wed, 03 Oct 2012 19:07:34 GMT</pubDate></item><item><title><![CDATA[Reply to Verstehe Mini-Makro nicht on Wed, 03 Oct 2012 19:37:40 GMT]]></title><description><![CDATA[<p>C++ _ public C schrieb:</p>
<blockquote>
<p>...</p>
</blockquote>
<p>Jaja, red keinen Blödsinn.<br />
Das ist der C99-Präprozessor, der gehört ins C-Forum. Basta. Die Frage war klar und offensichtlich, nicht so, als hätte sie potenziell etwas mit C++ am Hut.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2256826</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2256826</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Wed, 03 Oct 2012 19:37:40 GMT</pubDate></item><item><title><![CDATA[Reply to Verstehe Mini-Makro nicht on Wed, 03 Oct 2012 19:39:03 GMT]]></title><description><![CDATA[<p>Sone schrieb:</p>
<blockquote>
<p>Jaja, red keinen Blödsinn.<br />
Das ist der C99-Präprozessor</p>
</blockquote>
<p>self-owned</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2256827</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2256827</guid><dc:creator><![CDATA[Hacker]]></dc:creator><pubDate>Wed, 03 Oct 2012 19:39:03 GMT</pubDate></item><item><title><![CDATA[Reply to Verstehe Mini-Makro nicht on Wed, 03 Oct 2012 19:53:58 GMT]]></title><description><![CDATA[<p>Hacker schrieb:</p>
<blockquote>
<p>Sone schrieb:</p>
<blockquote>
<p>Jaja, red keinen Blödsinn.<br />
Das ist der C99-Präprozessor</p>
</blockquote>
<p>self-owned</p>
</blockquote>
<p>N3337 16.3.2 (The # operator) schrieb:</p>
<blockquote>
<p><strong>1. Each # preprocessing token in the replacement list for a function-like macro shall be followed by a parameter<br />
as the next preprocessing token in the replacement list.</strong><br />
<strong>2.</strong> A character string literal is a string-literal with no prefix. <strong>If, in the replacement list, a parameter is<br />
immediately preceded by a # preprocessing token, both are replaced by a single character string literal<br />
preprocessing token that contains the spelling of the preprocessing token sequence for the corresponding<br />
argument. Each occurrence of white space between the argument’s preprocessing tokens becomes a single<br />
space character in the character string literal. White space before the first preprocessing token and after<br />
the last preprocessing token comprising the argument is deleted. Otherwise, the original spelling of each<br />
preprocessing token in the argument is retained in the character string literal, except for special handling<br />
for producing the spelling of string literals and character literals: a \ character is inserted before each &quot; and<br />
\ character of a character literal or string literal (including the delimiting &quot; characters). If the replacement<br />
that results is not a valid character string literal, the behavior is undefined. The character string literal<br />
corresponding to an empty argument is &quot;&quot;. The order of evaluation of # and ## operators is unspecified.</strong></p>
</blockquote>
<p>N1256 6.10.3.2 (The # operator) schrieb:</p>
<blockquote>
<p><strong>1. Each # preprocessing token in the replacement list for a function-like macro shall be<br />
followed by a parameter as the next preprocessing token in the replacement list.<br />
Semantics<br />
2. If, in the replacement list, a parameter is immediately preceded by a # preprocessing<br />
token, both are replaced by a single character string literal preprocessing token that<br />
contains the spelling of the preprocessing token sequence for the corresponding<br />
argument. Each occurrence of white space between the argument’s preprocessing tokens<br />
becomes a single space character in the character string literal. White space before the<br />
first preprocessing token and after the last preprocessing token composing the argument<br />
is deleted. Otherwise, the original spelling of each preprocessing token in the argument<br />
is retained in the character string literal, except for special handling for producing the<br />
spelling of string literals and character constants: a \ character is inserted before each &quot;<br />
and \ character of a character constant or string literal (including the delimiting &quot;<br />
characters), except that it is implementation-defined whether a \ character is inserted<br />
before the \ character beginning a universal character name. If the replacement that<br />
results is not a valid character string literal, the behavior is undefined. The character<br />
string literal corresponding to an empty argument is &quot;&quot;. The order of evaluation of # and<br />
## operators is unspecified.</strong></p>
</blockquote>
<p>Ich hab die gleichen Teile mal Fett gemacht.<br />
...<br />
Ich bin sicher, der C99-Standard hat alles vom C++-Standard genommen <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/2256829</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2256829</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Wed, 03 Oct 2012 19:53:58 GMT</pubDate></item><item><title><![CDATA[Reply to Verstehe Mini-Makro nicht on Wed, 03 Oct 2012 19:58:39 GMT]]></title><description><![CDATA[<p>Sone/Hacker, auch wenns vom C-Präprozessor kommt, ists im C++ Präprozessor und deshalb genauso ein C++-Thema. Wenn jemand nach dem Unterschied zwischen float und double in C++ fragt schickt man ihn auch nicht ins C-Forum. (Und nein, ich werd mich jetzt nicht mit Haarspaltereien auseinandersetzen).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2256832</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2256832</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 03 Oct 2012 19:58:39 GMT</pubDate></item><item><title><![CDATA[Reply to Verstehe Mini-Makro nicht on Wed, 03 Oct 2012 20:57:29 GMT]]></title><description><![CDATA[<p>Fakt ist, dass es # schon in C90 gab und in C++ immer noch gibt. Ergo ist es nicht der C99-Präprozessor =&gt; Blödsinn.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2256846</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2256846</guid><dc:creator><![CDATA[Hacker]]></dc:creator><pubDate>Wed, 03 Oct 2012 20:57:29 GMT</pubDate></item><item><title><![CDATA[Reply to Verstehe Mini-Makro nicht on Thu, 04 Oct 2012 06:44:41 GMT]]></title><description><![CDATA[<p>Hacker schrieb:</p>
<blockquote>
<p>Fakt ist, dass es # schon in C90 gab und in C++ immer noch gibt. Ergo ist es nicht der C99-Präprozessor =&gt; Blödsinn.</p>
</blockquote>
<p>Wie du meinst. <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>Die Frage des TEs wurde jetzt ja ohnehin beantwortet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2256877</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2256877</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Thu, 04 Oct 2012 06:44:41 GMT</pubDate></item></channel></rss>