<?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[Mal was anderes]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich hoffe dass ich hier richtig bin.<br />
Ich habe eine grundsätzliche &quot;Machbarkeitsfrage&quot;:<br />
Und zwar habe ich eine Klasse mit 4 Templateparametern<br />
(Datentypen bzw. Klassen der Form</p>
<p>Template&lt;class T1, class T2, class T3, class T4&gt;<br />
class Handler{<br />
...<br />
}</p>
<p>).</p>
<p>Mein Problem ist folgendes:<br />
In meinem Fall gibt es für alle Kombinationen der möglichen Templateparameter<br />
(Klassen) 180 mögliche Kombinationen, eine Handler - Klasse zu deklarieren.<br />
Hinzukommt, dass die Datentypen der Templateparameter erst zur Laufzeit<br />
bestimmt werden.<br />
Ich müsste jetzt eine Handler - Klasse für jede Kombination fest im Quelltext<br />
coden und zur Laufzeit entscheiden, welche genommen wird (abhängig von Usereingaben).<br />
Meine konkrete Frage:<br />
Gibt es eine Möglichkeit, evtl. mit einem Makro, eine bereits definierte Variable umzudefinieren, also praktisch ihren Datentyp zur Laufzeit zu ändern<br />
(Beispielsweise von int auf double), um den Variablennamen nur einmal angeben zu müssen???</p>
<p>Ich hoffe meine Frage ist halbwegs klar.</p>
<p>Beste Grüße,<br />
Markus</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/139915/mal-was-anderes</link><generator>RSS for Node</generator><lastBuildDate>Sun, 30 Aug 2026 19:26:53 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/139915.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 10 Mar 2006 13:24:34 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Mal was anderes on Fri, 10 Mar 2006 13:24:34 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich hoffe dass ich hier richtig bin.<br />
Ich habe eine grundsätzliche &quot;Machbarkeitsfrage&quot;:<br />
Und zwar habe ich eine Klasse mit 4 Templateparametern<br />
(Datentypen bzw. Klassen der Form</p>
<p>Template&lt;class T1, class T2, class T3, class T4&gt;<br />
class Handler{<br />
...<br />
}</p>
<p>).</p>
<p>Mein Problem ist folgendes:<br />
In meinem Fall gibt es für alle Kombinationen der möglichen Templateparameter<br />
(Klassen) 180 mögliche Kombinationen, eine Handler - Klasse zu deklarieren.<br />
Hinzukommt, dass die Datentypen der Templateparameter erst zur Laufzeit<br />
bestimmt werden.<br />
Ich müsste jetzt eine Handler - Klasse für jede Kombination fest im Quelltext<br />
coden und zur Laufzeit entscheiden, welche genommen wird (abhängig von Usereingaben).<br />
Meine konkrete Frage:<br />
Gibt es eine Möglichkeit, evtl. mit einem Makro, eine bereits definierte Variable umzudefinieren, also praktisch ihren Datentyp zur Laufzeit zu ändern<br />
(Beispielsweise von int auf double), um den Variablennamen nur einmal angeben zu müssen???</p>
<p>Ich hoffe meine Frage ist halbwegs klar.</p>
<p>Beste Grüße,<br />
Markus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1013285</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1013285</guid><dc:creator><![CDATA[Gast_2]]></dc:creator><pubDate>Fri, 10 Mar 2006 13:24:34 GMT</pubDate></item><item><title><![CDATA[Reply to Mal was anderes on Fri, 10 Mar 2006 13:29:50 GMT]]></title><description><![CDATA[<p>Templates werden bereits zur Compilezeit für einen bestimmten Typ erzeugt und sind dann fest. Und auch eine Variable hat während ihrer gesamten Lebensdauer genau EINEN (statischen) Typ.<br />
Von daher bist du, wenn es um Typänderungen zur Laufzeit geht, wohl an der falschen Stelle.</p>
<p>Zwischenfrage: Was genau willst du letztendlich erreichen? WEnn wir mehr über dein Projekt wissen, können wir vielleicht Alternativen vorschlagen.</p>
<p>PS: Makros werden übrigens vom Präprozessor verarbeitet - der steht noch VOR dem Compiler.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1013289</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1013289</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 10 Mar 2006 13:29:50 GMT</pubDate></item><item><title><![CDATA[Reply to Mal was anderes on Fri, 10 Mar 2006 13:58:08 GMT]]></title><description><![CDATA[<p>Na ja,</p>
<p>ich habe eine GUI, in der der User zur Laufzeit verschiedene<br />
Komponenten einer Software zur Bildregistrierung auswählen kann<br />
(Art der Transformation, Interpolation, Metric, Optimierungsverfahren).<br />
Diese Komponenten sind die Template-Parameter der beschriebenen<br />
Handler - Klasse.<br />
Wie bereits gesagt, ergeben sich 180 Möglichkeiten, die Komponenten<br />
zu kombinieren (6 Optimierer, 3 Interpolationsverfahren, 4 Metriken usw.).<br />
Zur Laufzeit entscheidet sich also, welche Verfahren kombiniert werden.<br />
Je nachdem, wird dann eine Handler - Klasse mit den benötigten Parametern<br />
definiert und erzeugt, dass müsste ich jetzt 180 mal machen.<br />
Also dachte ich, versuch irgendwie den Datentyp zur Laufzeit festzulegen<br />
(nach der Art<br />
if (optimizerChoice = Simplex) typedef Simplex OptimizerType;<br />
if (optimizerChoice = GradientDescent) typedef GradientDescent OptimizerType;<br />
...<br />
und das alles auch noch für Transformation, Metrik und Interpolation.<br />
und am Ende wäre es schön, wenn man einfach dann den Handler damit<br />
definieren und instantieren könnte:<br />
Handler&lt;class OptimizerType,class MetricType, class ...&gt; handler;<br />
Leider funktioniert das ja nicht.<br />
Habe gehofft, es gäbe irgendeine Möglichkeit das mit einem Macro oder so<br />
zu machen.</p>
<p>Gruß,<br />
Markus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1013315</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1013315</guid><dc:creator><![CDATA[Gast_2]]></dc:creator><pubDate>Fri, 10 Mar 2006 13:58:08 GMT</pubDate></item><item><title><![CDATA[Reply to Mal was anderes on Fri, 10 Mar 2006 14:04:38 GMT]]></title><description><![CDATA[<p>Da würde sich die Verwendung einer gemeinsamen Basisklasse für verschiedene Optimierer, Algorithmen etc. mit den richtigen virtuellen Methoden eher anbieten als dein Template-Ansatz.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1013322</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1013322</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 10 Mar 2006 14:04:38 GMT</pubDate></item><item><title><![CDATA[Reply to Mal was anderes on Fri, 10 Mar 2006 14:06:49 GMT]]></title><description><![CDATA[<p>Das ist sicher richtig.<br />
Das mit den Templates war wohl eine Sackgasse.<br />
Würde zwar funktionieren wenn ich die 180 Möglichkeiten coden<br />
würde, aber elegant wär's nicht.</p>
<p>Vielen Dank,<br />
Markus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1013324</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1013324</guid><dc:creator><![CDATA[Gast_2]]></dc:creator><pubDate>Fri, 10 Mar 2006 14:06:49 GMT</pubDate></item></channel></rss>