<?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[define Bezeichnung dynamisch einbinden]]></title><description><![CDATA[<p>Hallo,<br />
erstmal Danke an alle die mir probieren zu helfen!!</p>
<p>Zu meiner Frage:<br />
Ich hab mehrere define Anweisungen<br />
z.B</p>
<pre><code class="language-cpp">#define L1 16
#define L2 12
#define L3 19 usw.
</code></pre>
<p>jetzt möchte ich in einer for-schleife die defines durchgehen.<br />
Sprich</p>
<pre><code class="language-cpp">for(i=1;i&lt;10;i++)
{wert=Li;}
</code></pre>
<p>Li ist L1,L2,L3 usw.<br />
nur wie kann ich das vernünftig schreiben?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/217717/define-bezeichnung-dynamisch-einbinden</link><generator>RSS for Node</generator><lastBuildDate>Sat, 10 Oct 2026 07:03:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/217717.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 10 Jul 2008 11:44:11 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to define Bezeichnung dynamisch einbinden on Thu, 10 Jul 2008 11:44:11 GMT]]></title><description><![CDATA[<p>Hallo,<br />
erstmal Danke an alle die mir probieren zu helfen!!</p>
<p>Zu meiner Frage:<br />
Ich hab mehrere define Anweisungen<br />
z.B</p>
<pre><code class="language-cpp">#define L1 16
#define L2 12
#define L3 19 usw.
</code></pre>
<p>jetzt möchte ich in einer for-schleife die defines durchgehen.<br />
Sprich</p>
<pre><code class="language-cpp">for(i=1;i&lt;10;i++)
{wert=Li;}
</code></pre>
<p>Li ist L1,L2,L3 usw.<br />
nur wie kann ich das vernünftig schreiben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1544946</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1544946</guid><dc:creator><![CDATA[Hago10]]></dc:creator><pubDate>Thu, 10 Jul 2008 11:44:11 GMT</pubDate></item><item><title><![CDATA[Reply to define Bezeichnung dynamisch einbinden on Thu, 10 Jul 2008 11:47:55 GMT]]></title><description><![CDATA[<p>Da würde ich einen anderen Ansatz wählen. Mit Makros und <code>##</code> würde das zwar gehen, aber das ist definitiv unschön.</p>
<p>Generell sollte man in C++ <code>#defines</code> nur nutzen, wenn sie wirklich nötig sind. Besser sind Konstanten bzw. Arrays:</p>
<pre><code class="language-cpp">const int L[] = {16, 12, 19};
</code></pre>
<p>Nachher würde da stehen:</p>
<pre><code class="language-cpp">for (int i = 0; i &lt; groesse; ++i)
{
    wert = L[i];
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1544952</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1544952</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Thu, 10 Jul 2008 11:47:55 GMT</pubDate></item><item><title><![CDATA[Reply to define Bezeichnung dynamisch einbinden on Thu, 10 Jul 2008 11:50:59 GMT]]></title><description><![CDATA[<p>--- gelöscht weil wegen zu langsam... ---</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1544953</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1544953</guid><dc:creator><![CDATA[bladerunner10]]></dc:creator><pubDate>Thu, 10 Jul 2008 11:50:59 GMT</pubDate></item><item><title><![CDATA[Reply to define Bezeichnung dynamisch einbinden on Thu, 10 Jul 2008 12:04:32 GMT]]></title><description><![CDATA[<p>Danke für die schnelle Antwort;</p>
<p>ich hab natürlich nur für das Beispiel einfache integer Werte verwendet;</p>
<p>in wirklichkeit stehen dahinter recht lange makros die ich nicht in einem array haben kann.</p>
<p>Könntest du mir dann bitte sagen wie man es mit defines machen kann dass sich die bezeichnung dynamisch ändert?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1544975</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1544975</guid><dc:creator><![CDATA[Hago10]]></dc:creator><pubDate>Thu, 10 Jul 2008 12:04:32 GMT</pubDate></item><item><title><![CDATA[Reply to define Bezeichnung dynamisch einbinden on Thu, 10 Jul 2008 13:22:02 GMT]]></title><description><![CDATA[<p>Dann zeig genauer, was du hast und was du willst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1545037</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1545037</guid><dc:creator><![CDATA[bladerunner10]]></dc:creator><pubDate>Thu, 10 Jul 2008 13:22:02 GMT</pubDate></item><item><title><![CDATA[Reply to define Bezeichnung dynamisch einbinden on Thu, 10 Jul 2008 13:24:47 GMT]]></title><description><![CDATA[<p>Hago10 schrieb:</p>
<blockquote>
<p>Könntest du mir dann bitte sagen wie man es mit defines machen kann dass sich die bezeichnung dynamisch ändert?</p>
</blockquote>
<p>Die Frage ist einfach zu beantworten: Garnicht. Aber evtl. gibt es Alternativen, wenn Du uns mehr Informationen gibst <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/1545040</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1545040</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Thu, 10 Jul 2008 13:24:47 GMT</pubDate></item><item><title><![CDATA[Reply to define Bezeichnung dynamisch einbinden on Thu, 10 Jul 2008 13:25:37 GMT]]></title><description><![CDATA[<p>Hago10 schrieb:</p>
<blockquote>
<p>Könntest du mir dann bitte sagen wie man es mit defines machen kann dass sich die bezeichnung dynamisch ändert?</p>
</blockquote>
<p>Ich kann mich nur wiederholen: Das ist eine sehr unsaubere und fehleranfällige Lösung (wie generell die Arbeit mit Makros). Wieso solltest du keine Arrays verwenden können? Du brauchst ja keine verschiedenen Bezeichner mehr, sondern nur ein Array mit mehreren Werten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1545041</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1545041</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Thu, 10 Jul 2008 13:25:37 GMT</pubDate></item><item><title><![CDATA[Reply to define Bezeichnung dynamisch einbinden on Thu, 10 Jul 2008 13:55:06 GMT]]></title><description><![CDATA[<p>Hago10 schrieb:</p>
<blockquote>
<p>...</p>
</blockquote>
<p>Schon mal an std::map gedacht?<br />
(Container mit Schlüssel/Wert-Paar)</p>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1545089</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1545089</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Thu, 10 Jul 2008 13:55:06 GMT</pubDate></item><item><title><![CDATA[Reply to define Bezeichnung dynamisch einbinden on Thu, 10 Jul 2008 14:05:38 GMT]]></title><description><![CDATA[<p>LordJaxom schrieb:</p>
<blockquote>
<p>Hago10 schrieb:</p>
<blockquote>
<p>Könntest du mir dann bitte sagen wie man es mit defines machen kann dass sich die bezeichnung dynamisch ändert?</p>
</blockquote>
<p>Die Frage ist einfach zu beantworten: Garnicht.</p>
</blockquote>
<p>So pauschal würde ich das nicht beantworten, immerhin gibt es den ##-Operator, mit dem man Quelltext zusammenhängen kann. Aber eben, davon ist abzuraten, <code>std::map</code> scheint eine elegante Lösung zu sein.</p>
<p>Trotzdem verstehe ich momentan nicht, was gegen ein konstantes Array spricht...?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1545101</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1545101</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Thu, 10 Jul 2008 14:05:38 GMT</pubDate></item><item><title><![CDATA[Reply to define Bezeichnung dynamisch einbinden on Thu, 10 Jul 2008 14:08:30 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>So pauschal würde ich das nicht beantworten, immerhin gibt es den ##-Operator, mit dem man Quelltext zusammenhängen kann.</p>
</blockquote>
<p>Grundsätzlich hast Du natürlich recht, aber dafür muss das zusammenzuhängende auch im Quelltext konstant sein. <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="😃"
    /> (L##i ergibt höchstens &quot;Li&quot;, aber niemals L1, L2, ...)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1545102</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1545102</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Thu, 10 Jul 2008 14:08:30 GMT</pubDate></item><item><title><![CDATA[Reply to define Bezeichnung dynamisch einbinden on Thu, 10 Jul 2008 14:12:17 GMT]]></title><description><![CDATA[<p>Okay, für den Fall einer Schleife wäre es wohl doch nicht so geeignet <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="😉"
    /><br />
(Auch sonst nicht, ich weiss :p).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1545106</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1545106</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Thu, 10 Jul 2008 14:12:17 GMT</pubDate></item><item><title><![CDATA[Reply to define Bezeichnung dynamisch einbinden on Thu, 10 Jul 2008 14:12:30 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>LordJaxom schrieb:</p>
<blockquote>
<p>Hago10 schrieb:</p>
<blockquote>
<p>Könntest du mir dann bitte sagen wie man es mit defines machen kann dass sich die bezeichnung dynamisch ändert?</p>
</blockquote>
<p>Die Frage ist einfach zu beantworten: Garnicht.</p>
</blockquote>
<p>So pauschal würde ich das nicht beantworten, immerhin gibt es den ##-Operator, mit dem man Quelltext zusammenhängen kann. Aber eben, davon ist abzuraten, <code>std::map</code> scheint eine elegante Lösung zu sein.</p>
</blockquote>
<p>Nein. Das würde nicht gehen. #define macht lediglich eine Textersetzung. Und die ist bei Laufzeit des Programmes vorbei. Der kennt dann L1 usw. gar nicht mehr. Da steht dann einfach eine 2 usw.</p>
<blockquote>
<p>in wirklichkeit stehen dahinter recht lange makros die ich nicht in einem array haben kann.</p>
</blockquote>
<p>Das klingt nicht so, dass es wirklich eine gute Idee ist.<br />
Vor allem sollten da keine &quot;Berechnungen&quot; oder ähnliches durchgeführt werden.<br />
Berühmtes Beispiel:</p>
<pre><code class="language-cpp">#define m_pow(x) x*x

int pow (int x){
return x*x;
}
...
int z = 2;
std::cout &lt;&lt; pow (++z) &lt;&lt; std::endl;
int v = 2;
std::cout &lt;&lt; m_pow (++v) &lt;&lt; std::endl;
</code></pre>
<p>Ooops. Das Beispiel erklärt sich von selbst, wenn man bedenkt, dass lediglich eine Textersetzung (zur Compile Zeit) stattfindet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1545107</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1545107</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Thu, 10 Jul 2008 14:12:30 GMT</pubDate></item><item><title><![CDATA[Reply to define Bezeichnung dynamisch einbinden on Fri, 11 Jul 2008 18:22:38 GMT]]></title><description><![CDATA[<p>warum kommt bei dem define-bsp aber 16 raus?</p>
<pre><code>v = 2;
++v * ++v
2+1 * 3+1
3 * 4 = 12
</code></pre>
<p>oder wo liet mein fehler? Oo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1545875</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1545875</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Fri, 11 Jul 2008 18:22:38 GMT</pubDate></item><item><title><![CDATA[Reply to define Bezeichnung dynamisch einbinden on Fri, 11 Jul 2008 18:37:21 GMT]]></title><description><![CDATA[<p>dein Fehler ist, dass du glaubst dass das Ergebnis definiert ist. ist es aber nicht :).</p>
<p>In deinem Fall macht der compiler folgendes:</p>
<pre><code class="language-cpp">++v;
++v;
v*v;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1545878</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1545878</guid><dc:creator><![CDATA[otze]]></dc:creator><pubDate>Fri, 11 Jul 2008 18:37:21 GMT</pubDate></item><item><title><![CDATA[Reply to define Bezeichnung dynamisch einbinden on Fri, 11 Jul 2008 18:45:34 GMT]]></title><description><![CDATA[<p>LordJaxom schrieb:</p>
<blockquote>
<p>Nexus schrieb:</p>
<blockquote>
<p>So pauschal würde ich das nicht beantworten, immerhin gibt es den ##-Operator, mit dem man Quelltext zusammenhängen kann.</p>
</blockquote>
<p>Grundsätzlich hast Du natürlich recht, aber dafür muss das zusammenzuhängende auch im Quelltext konstant sein.</p>
</blockquote>
<p>Ist er doch, i geht von 0 bis 10. Mit ein paar Präprozessorhacks (oder Boost.Preprocessor) kann man die Schleife ausrollen.</p>
<p>Und wenn nur eine Grenze unklar ist, dann rollt man sich das ganze halt zu einem switch aus:</p>
<pre><code class="language-cpp">switch (n)
{
case 100: L100;
…
case 1: L1;
case 0: L0;
};
</code></pre>
<p>bzw. andersrum für eine veränderliche untere Grenze.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1545883</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1545883</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Fri, 11 Jul 2008 18:45:34 GMT</pubDate></item><item><title><![CDATA[Reply to define Bezeichnung dynamisch einbinden on Fri, 11 Jul 2008 19:54:47 GMT]]></title><description><![CDATA[<p>.filmor schrieb:</p>
<blockquote>
<p>LordJaxom schrieb:</p>
<blockquote>
<p>Nexus schrieb:</p>
<blockquote>
<p>So pauschal würde ich das nicht beantworten, immerhin gibt es den ##-Operator, mit dem man Quelltext zusammenhängen kann.</p>
</blockquote>
<p>Grundsätzlich hast Du natürlich recht, aber dafür muss das zusammenzuhängende auch im Quelltext konstant sein.</p>
</blockquote>
<p>Ist er doch, i geht von 0 bis 10. Mit ein paar Präprozessorhacks (oder Boost.Preprocessor) kann man die Schleife ausrollen.</p>
<p>Und wenn nur eine Grenze unklar ist, dann rollt man sich das ganze halt zu einem switch aus:</p>
<pre><code class="language-cpp">switch (n)
{
case 100: L100;
…
case 1: L1;
case 0: L0;
};
</code></pre>
<p>bzw. andersrum für eine veränderliche untere Grenze.</p>
</blockquote>
<p>Dies kann man aber weiteraus besser mit Funktions-Pointer oder dynamischen Objekten loesen.</p>
<pre><code class="language-cpp">typedef (*funktion)();

funktion f[] = new funktion[50];
f[0] = funktion1;
f[1] = funktion2;
f[2] = funktion3;
// ...
for (int  i=0; i&lt;50; i++) f[i](); // oh, geht das ueberhaupt?
// so oder so aehnlich wuerde es in C aussehen, fuer C++ bitte std::list
// und dynamische Objekte verwenden
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1545923</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1545923</guid><dc:creator><![CDATA[DEvent]]></dc:creator><pubDate>Fri, 11 Jul 2008 19:54:47 GMT</pubDate></item><item><title><![CDATA[Reply to define Bezeichnung dynamisch einbinden on Sat, 12 Jul 2008 01:32:43 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/5931">@DEvent</a>:</p>
<blockquote>
<pre><code class="language-cpp">funktion f[] = new funktion[50];
</code></pre>
</blockquote>
<p>kann es sein dass du etwas zuviel C# programmierst?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1546001</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1546001</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sat, 12 Jul 2008 01:32:43 GMT</pubDate></item><item><title><![CDATA[Reply to define Bezeichnung dynamisch einbinden on Sat, 12 Jul 2008 14:28:26 GMT]]></title><description><![CDATA[<p>Mal abgesehen davon, dass meine Lösung nicht so richtig ernst gemeint war und vermutlich deutlich performanter ist :p</p>
<p>Außerdem ist der Code dann da wo er hin gehört und nicht irgendwie über die Übersetzungseinheit verstreut.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1546226</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1546226</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Sat, 12 Jul 2008 14:28:26 GMT</pubDate></item></channel></rss>