<?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 direktive #define]]></title><description><![CDATA[<p>Hallo,</p>
<p>ist es möglich mir einen zweiten Bezeichner für double zu basteln, mittels #define? Ich dachte an so etwas:</p>
<pre><code class="language-cpp">#define REAL double

int main(int argc, char *argv[])
{ 
   REAL x=3.2;
   return(0);
}
</code></pre>
<p>Viele Dank im voraus.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/286876/frage-zu-direktive-define</link><generator>RSS for Node</generator><lastBuildDate>Thu, 20 Aug 2026 18:49:50 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/286876.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 18 May 2011 07:17:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zu direktive #define on Wed, 18 May 2011 07:21:39 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ist es möglich mir einen zweiten Bezeichner für double zu basteln, mittels #define? Ich dachte an so etwas:</p>
<pre><code class="language-cpp">#define REAL double

int main(int argc, char *argv[])
{ 
   REAL x=3.2;
   return(0);
}
</code></pre>
<p>Viele Dank im voraus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2065023</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2065023</guid><dc:creator><![CDATA[JochenSt]]></dc:creator><pubDate>Wed, 18 May 2011 07:21:39 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu direktive #define on Wed, 18 May 2011 07:22:16 GMT]]></title><description><![CDATA[<p>Natürlich ist es möglich, aber was würde dir das bringen, wenn du den urpsrünglichen Datentyp nicht erweiterst/veränderst... Außerdem solltest du Makros meiden, wenn's möglich ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2065025</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2065025</guid><dc:creator><![CDATA[*Rewind*]]></dc:creator><pubDate>Wed, 18 May 2011 07:22:16 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu direktive #define on Wed, 18 May 2011 07:25:42 GMT]]></title><description><![CDATA[<p>JochenSt schrieb:</p>
<blockquote>
<p>ist es möglich mir einen zweiten Bezeichner für double zu basteln, mittels #define? Ich dachte an so etwas:</p>
</blockquote>
<p>Besser:</p>
<pre><code class="language-cpp">typedef double REAL;
</code></pre>
<p>Es gibt für deine Anforderungen das Schlüsselwort typedef, das Makros vorzuziehen ist (Bedenke aber das der Compiler die Typen als gleich betrachtet, es nur unterschiedliche Namen für den gleichen Typen sind).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2065027</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2065027</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Wed, 18 May 2011 07:25:42 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu direktive #define on Wed, 18 May 2011 07:27:40 GMT]]></title><description><![CDATA[<p>Ich hab mal die cpp-Tags hinzugefügt. Demnächst bitte selbst erledigen!</p>
<p>JochenSt schrieb:</p>
<blockquote>
<p>Hallo,</p>
<p>ist es möglich mir einen zweiten Bezeichner für double zu basteln, mittels #define? Ich dachte an so etwas: [...]</p>
</blockquote>
<p>Grundsätzlich möglich sit es. Allerdings sind Macros (so heißen die Dinger, die mit #define definiert werden) dafür eine ziemlich ungünstige Lösung. Besser gehts mit typedef:</p>
<pre><code class="language-cpp">typedef double Real;

int main(int argc, char *argv[])
{
   Real x=3.2;
   return(0);
}
</code></pre>
<p>Ich habe den Namen auf Real geändert, da Bezeichner, die vollständig aus Großbuchstaben bestehen meistens Makros und Magic Numbers, ab und an auch Enum-Werten vorbehalten sind (Nicht als Sprachregel, sondern als Konvention).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2065030</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2065030</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 18 May 2011 07:27:40 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu direktive #define on Wed, 18 May 2011 07:59:08 GMT]]></title><description><![CDATA[<p>dankeschön, funktioniert einwandfrei. Ich brauche einfach einen einfachen Schalter der mir zu Beginn meines Programms ein schnelles umstellen zwischen float und double ermöglicht, ohne groß den Quelltext ändern zu müssen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2065053</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2065053</guid><dc:creator><![CDATA[JochenSt]]></dc:creator><pubDate>Wed, 18 May 2011 07:59:08 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu direktive #define on Wed, 18 May 2011 09:38:27 GMT]]></title><description><![CDATA[<p>Ein Makro mit #define xxx yyy ist ein simpler Textaustausch im Quellcode für den Compiler.<br />
Aus #define REAL double wird einfach überall double genommen wenn der Compiler das übersetzen soll, mehr nicht.<br />
Nehme in Berechnungen und Funktionen den grösstmöglichen Typ double oder long double. Frisst vielleicht etwas Speicherplatz, na und?<br />
Dann brauchst du kein #define oder typdef mehr und kannst jederzeit ohne jeden Schalter nehmen, was du gerade willst float, double, oder long double.<br />
Das Casting nach unten wird sauber erledigt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2065116</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2065116</guid><dc:creator><![CDATA[berniebutt]]></dc:creator><pubDate>Wed, 18 May 2011 09:38:27 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu direktive #define on Wed, 18 May 2011 09:50:29 GMT]]></title><description><![CDATA[<p>berniebutt schrieb:</p>
<blockquote>
<p>Ein Makro mit #define xxx yyy ist ein simpler Textaustausch im Quellcode für den Compiler.<br />
Aus #define REAL double wird einfach überall double genommen wenn der Compiler das übersetzen soll, mehr nicht.<br />
Nehme in Berechnungen und Funktionen den grösstmöglichen Typ double oder long double. Frisst vielleicht etwas Speicherplatz, na und?<br />
Dann brauchst du kein #define oder typdef mehr und kannst jederzeit ohne jeden Schalter nehmen, was du gerade willst float, double, oder long double.<br />
Das Casting nach unten wird sauber erledigt.</p>
</blockquote>
<p>Wenn man kein double braucht, ist float in rechenintensiven Programmen deutlich schneller.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2065132</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2065132</guid><dc:creator><![CDATA[Ethon]]></dc:creator><pubDate>Wed, 18 May 2011 09:50:29 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu direktive #define on Wed, 18 May 2011 10:24:05 GMT]]></title><description><![CDATA[<p>ich entwickle ein Programm welches die Grafikkarte nutzt zum rechnen. Die Grafikkarte die ich auf meinem Testcomputer installiert habe kann nur single precision, deshalb brauche ich einen Umschalter.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2065159</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2065159</guid><dc:creator><![CDATA[JochenSt]]></dc:creator><pubDate>Wed, 18 May 2011 10:24:05 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu direktive #define on Wed, 18 May 2011 10:47:38 GMT]]></title><description><![CDATA[<p>Je nach Einsatzgebiet könnten sich Templates anbieten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2065176</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2065176</guid><dc:creator><![CDATA[Ethon]]></dc:creator><pubDate>Wed, 18 May 2011 10:47:38 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu direktive #define on Wed, 18 May 2011 13:58:13 GMT]]></title><description><![CDATA[<p>Zum Verständnis noch einmal nachgefragt:<br />
--&gt; woher kommen die Daten?<br />
--&gt; in welchem Datentyp?<br />
--&gt; in welcher auswertbaren Genauigkeit?<br />
--&gt; was soll damit angefangen werden?<br />
--&gt; wieviele können es sein?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2065267</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2065267</guid><dc:creator><![CDATA[berniebutt]]></dc:creator><pubDate>Wed, 18 May 2011 13:58:13 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu direktive #define on Wed, 18 May 2011 13:59:48 GMT]]></title><description><![CDATA[<p>Ethon schrieb:</p>
<blockquote>
<p>Je nach Einsatzgebiet könnten sich Templates anbieten.</p>
</blockquote>
<p>+1</p>
<p>Und wenn dann bitte typedef, für sowas Makros zu verwenden ist einfach nur falsch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2065269</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2065269</guid><dc:creator><![CDATA[dot]]></dc:creator><pubDate>Wed, 18 May 2011 13:59:48 GMT</pubDate></item></channel></rss>