<?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[Frage zu const und #define]]></title><description><![CDATA[<p>Hi (gleich der 2. Thread...).<br />
Ich möchte in einer Headerdatei bestimmte Optionen für den Code festlegen, die andere Dateien betreffen. Nun bin ich gerade dabei, das ganze etwas übersichtlicher zu gestalten (mit Namespaces und so weiter). Problem ist, dass es für Makros keine Namespaces gibt.</p>
<p>Folgendes erkennt der Compiler ja sofort:</p>
<pre><code class="language-cpp">//#define SETTING_ENABLE_LOG 1

// ...

#ifdef SETTING_ENABLE_LOG
machwas();
tudas();
unddas();
#endif
</code></pre>
<p>Definiere ich SETTING_LOG_ENABLE nicht, so wird der Code gar nicht mehr mit einkompiliert.</p>
<p>Versteht der Compiler aber auch bei &quot;echten&quot; (?) Konstanten, dass der Code nicht mehr benötigt wird? Beispiel:</p>
<pre><code class="language-cpp">namespace Settings
{
    const bool Logging = false;
}

// ...

if (Settings::Logging)
{
    machwas();
    tudas();
    unddas();
}
</code></pre>
<p>Würde der Code trotzdem mit einkompiliert, oder erkennt der Compiler das schon zur Compilezeit? Bin mir da verdammt unsicher und testen kann man es ja nicht &gt;_&lt;</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/256455/frage-zu-const-und-define</link><generator>RSS for Node</generator><lastBuildDate>Mon, 07 Sep 2026 12:19:56 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/256455.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 13 Dec 2009 01:12:54 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zu const und #define on Sun, 13 Dec 2009 01:12:54 GMT]]></title><description><![CDATA[<p>Hi (gleich der 2. Thread...).<br />
Ich möchte in einer Headerdatei bestimmte Optionen für den Code festlegen, die andere Dateien betreffen. Nun bin ich gerade dabei, das ganze etwas übersichtlicher zu gestalten (mit Namespaces und so weiter). Problem ist, dass es für Makros keine Namespaces gibt.</p>
<p>Folgendes erkennt der Compiler ja sofort:</p>
<pre><code class="language-cpp">//#define SETTING_ENABLE_LOG 1

// ...

#ifdef SETTING_ENABLE_LOG
machwas();
tudas();
unddas();
#endif
</code></pre>
<p>Definiere ich SETTING_LOG_ENABLE nicht, so wird der Code gar nicht mehr mit einkompiliert.</p>
<p>Versteht der Compiler aber auch bei &quot;echten&quot; (?) Konstanten, dass der Code nicht mehr benötigt wird? Beispiel:</p>
<pre><code class="language-cpp">namespace Settings
{
    const bool Logging = false;
}

// ...

if (Settings::Logging)
{
    machwas();
    tudas();
    unddas();
}
</code></pre>
<p>Würde der Code trotzdem mit einkompiliert, oder erkennt der Compiler das schon zur Compilezeit? Bin mir da verdammt unsicher und testen kann man es ja nicht &gt;_&lt;</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1821828</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1821828</guid><dc:creator><![CDATA[theliquidwave]]></dc:creator><pubDate>Sun, 13 Dec 2009 01:12:54 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu const und #define on Sun, 13 Dec 2009 01:20:26 GMT]]></title><description><![CDATA[<p>Im Release Modus sollte er soetwas rausnehmen. Wenn du dir nicht sicher bist, kannst du ja mal ein paar MB text dort einfügen und in ein array speichern. Mal schauen, wie die file größe danach ausschaut.<br />
oder einfach mit nem disassembler nachschauen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1821830</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1821830</guid><dc:creator><![CDATA[asdfgfd]]></dc:creator><pubDate>Sun, 13 Dec 2009 01:20:26 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu const und #define on Sun, 13 Dec 2009 01:32:45 GMT]]></title><description><![CDATA[<p>Gute Idee - und Tatsache: Es funktioniert! Dankeschön <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>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1821832</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1821832</guid><dc:creator><![CDATA[theliquidwave]]></dc:creator><pubDate>Sun, 13 Dec 2009 01:32:45 GMT</pubDate></item></channel></rss>