<?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[Makro: &amp;quot;test&amp;quot; zu test machen]]></title><description><![CDATA[<p>Hi</p>
<p>ich suche eine Möglichkeit, ein in &quot;&quot; stehenden &quot;wert&quot;<br />
durch ein makro die &quot;&quot; zu entfernen, so das nur der wert übrig bleibt.<br />
Geht sowas ?</p>
<p>phlox</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/144753/makro-quot-test-quot-zu-test-machen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 02 Sep 2026 18:51:13 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/144753.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 21 Apr 2006 10:06:44 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Makro: &amp;quot;test&amp;quot; zu test machen on Fri, 21 Apr 2006 10:06:44 GMT]]></title><description><![CDATA[<p>Hi</p>
<p>ich suche eine Möglichkeit, ein in &quot;&quot; stehenden &quot;wert&quot;<br />
durch ein makro die &quot;&quot; zu entfernen, so das nur der wert übrig bleibt.<br />
Geht sowas ?</p>
<p>phlox</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1041827</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1041827</guid><dc:creator><![CDATA[phlox81]]></dc:creator><pubDate>Fri, 21 Apr 2006 10:06:44 GMT</pubDate></item><item><title><![CDATA[Reply to Makro: &amp;quot;test&amp;quot; zu test machen on Fri, 21 Apr 2006 10:32:33 GMT]]></title><description><![CDATA[<p>phlox81 schrieb:</p>
<blockquote>
<p>Hi<br />
ich suche eine Möglichkeit, ein in &quot;&quot; stehenden &quot;wert&quot;<br />
durch ein makro die &quot;&quot; zu entfernen, so das nur der wert übrig bleibt.<br />
Geht sowas ?<br />
phlox</p>
</blockquote>
<p>mir ist keine bekannt. ich kanns nur andersrum.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1041844</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1041844</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Fri, 21 Apr 2006 10:32:33 GMT</pubDate></item><item><title><![CDATA[Reply to Makro: &amp;quot;test&amp;quot; zu test machen on Fri, 21 Apr 2006 10:44:41 GMT]]></title><description><![CDATA[<p>hm, also meine idee war genial, aber mit makros wohl net zu machen.<br />
Ich hatte es jetzt erstmal mit int versucht:</p>
<pre><code class="language-cpp">#define NAME(x,y)x##y
template&lt;class Type, int name&gt;
class property
{
Type NAME(value,name); //dadurch wollte ich das ich die variablennamen über das template verändern kann, klappt aber so nicht.
public:
void NAME(Setvalue,name)(Type value){NAME(value,name) = value;}
Type NAME(Getvalue,name)()const(return NAME(value,name);}
};
</code></pre>
<p>Aber das klappt natürlich nicht, weil der wert erst später da ist, und<br />
das Makro dann aus NAME(value,name) einfach valuename anstatt z.b. value1 macht.</p>
<p>phlox</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1041851</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1041851</guid><dc:creator><![CDATA[phlox81]]></dc:creator><pubDate>Fri, 21 Apr 2006 10:44:41 GMT</pubDate></item><item><title><![CDATA[Reply to Makro: &amp;quot;test&amp;quot; zu test machen on Fri, 21 Apr 2006 10:48:48 GMT]]></title><description><![CDATA[<p>Ne, das klappt so nicht - der Präprozessor kümmert sich nicht um Template-Parameter, sondern ersetzt nur #define Makros. Aber was spricht dagegen, wenn alle property&lt;&gt; Objekte die selben Membervariablen verwenden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1041854</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1041854</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 21 Apr 2006 10:48:48 GMT</pubDate></item><item><title><![CDATA[Reply to Makro: &amp;quot;test&amp;quot; zu test machen on Fri, 21 Apr 2006 10:55:01 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>Ne, das klappt so nicht - der Präprozessor kümmert sich nicht um Template-Parameter, sondern ersetzt nur #define Makros. Aber was spricht dagegen, wenn alle property&lt;&gt; Objekte die selben Membervariablen verwenden?</p>
</blockquote>
<p>Das es so nicht klappt, ist mir jetzt auch klar <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 />
War halt ein Denkfehler, kurz vor der Mittagspause kam mir die Idee *g*</p>
<p>Eigentlich nix, aber meine nächste Idee war:</p>
<pre><code class="language-cpp">class data:public property&lt;Klasse1,&quot;test&quot;&gt;,public property&lt;Klasse1, &quot;var&quot;&gt;, public property&lt;Counter,&quot;count&quot;&gt;
</code></pre>
<p>So würden die Getter und Setter geerbt...<br />
Das ganze soll dann irgendwo parameter auslesen, und der Code wird dann nur<br />
noch so generiert. Danach gehts durch den compiler, und fertig ist das Skript...</p>
<p>phlox</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1041856</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1041856</guid><dc:creator><![CDATA[phlox81]]></dc:creator><pubDate>Fri, 21 Apr 2006 10:55:01 GMT</pubDate></item><item><title><![CDATA[Reply to Makro: &amp;quot;test&amp;quot; zu test machen on Fri, 21 Apr 2006 10:55:53 GMT]]></title><description><![CDATA[<p>phlox81 schrieb:</p>
<blockquote>
<p>Eigentlich nix, aber meine nächste Idee war:</p>
<pre><code class="language-cpp">class data:public property&lt;Klasse1,&quot;test&quot;&gt;,public property&lt;Klasse1, &quot;var&quot;&gt;, public property&lt;Counter,&quot;count&quot;&gt;
</code></pre>
<p>So würden die Getter und Setter geerbt...</p>
</blockquote>
<p>aber warum strings?</p>
<pre><code class="language-cpp">class data:public property&lt;Klasse1,test&gt;,public property&lt;Klasse1, var&gt;, public property&lt;Counter,count&gt;
</code></pre>
<p>naja, fast. muß wohl mehr makro rein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1041858</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1041858</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Fri, 21 Apr 2006 10:55:53 GMT</pubDate></item><item><title><![CDATA[Reply to Makro: &amp;quot;test&amp;quot; zu test machen on Fri, 21 Apr 2006 10:55:22 GMT]]></title><description><![CDATA[<p>Ich hoffe, dir ist klar, was eine öffentliche Vererbung bedeutet: &quot;ist ein&quot;. Alles andere klingt stark nach einem Designfehler.</p>
<p>(und ich würde die ganzen property's eher als Membervariablen der data-Klasse verwenden)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1041860</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1041860</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 21 Apr 2006 10:55:22 GMT</pubDate></item><item><title><![CDATA[Reply to Makro: &amp;quot;test&amp;quot; zu test machen on Fri, 21 Apr 2006 10:57:51 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>phlox81 schrieb:</p>
<blockquote>
<p>Eigentlich nix, aber meine nächste Idee war:</p>
<pre><code class="language-cpp">class data:public property&lt;Klasse1,&quot;test&quot;&gt;,public property&lt;Klasse1, &quot;var&quot;&gt;, public property&lt;Counter,&quot;count&quot;&gt;
</code></pre>
<p>So würden die Getter und Setter geerbt...</p>
</blockquote>
<p>aber warum strings?</p>
<pre><code class="language-cpp">class data:public property&lt;Klasse1,test&gt;,public property&lt;Klasse1, var&gt;, public property&lt;Counter,count&gt;
</code></pre>
</blockquote>
<p>Ja, weils schöner ist. Es war nur so ein Gedankengang.<br />
Ka, aber was ändert das am Makro problem ?<br />
Wie erzeuge ich dann in property die setter/getter ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1041862</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1041862</guid><dc:creator><![CDATA[phlox81]]></dc:creator><pubDate>Fri, 21 Apr 2006 10:57:51 GMT</pubDate></item><item><title><![CDATA[Reply to Makro: &amp;quot;test&amp;quot; zu test machen on Fri, 21 Apr 2006 11:00:16 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>Ich hoffe, dir ist klar, was eine öffentliche Vererbung bedeutet: &quot;ist ein&quot;. Alles andere klingt stark nach einem Designfehler.</p>
<p>(und ich würde die ganzen property's eher als Membervariablen der data-Klasse verwenden)</p>
</blockquote>
<p>Ja ich weiss. Ich könnts auch private machen, als hat ein, aber die Setter und Getter<br />
sollten schon public sein.<br />
Das ich sie nicht als member haben will, ka. Einfach nur faulheit, das ist<br />
ja nix was dann noch getippt wird, sondern einfach nur von nem Generator ausgespukt.<br />
Wozu property, wenn ich da nicht gleich die Getter und Setter erzeuge ?</p>
<p>phlox</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1041863</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1041863</guid><dc:creator><![CDATA[phlox81]]></dc:creator><pubDate>Fri, 21 Apr 2006 11:00:16 GMT</pubDate></item><item><title><![CDATA[Reply to Makro: &amp;quot;test&amp;quot; zu test machen on Fri, 21 Apr 2006 11:05:07 GMT]]></title><description><![CDATA[<p>phlox81 schrieb:</p>
<blockquote>
<p>Ja, weils schöner ist. Es war nur so ein Gedankengang.<br />
Ka, aber was ändert das am Makro problem ?<br />
Wie erzeuge ich dann in property die setter/getter ?</p>
</blockquote>
<p>ich fürchte, es geht nicht.<br />
und sowas</p>
<pre><code class="language-cpp">class data
{
	property&lt;Klasse1,test&gt;
	property&lt;Klasse1,var&gt;
	property&lt;Counter,count&gt;
};
</code></pre>
<p>ist dir bestimmt zu einfach.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1041866</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1041866</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Fri, 21 Apr 2006 11:05:07 GMT</pubDate></item><item><title><![CDATA[Reply to Makro: &amp;quot;test&amp;quot; zu test machen on Fri, 21 Apr 2006 11:10:21 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>phlox81 schrieb:</p>
<blockquote>
<p>Ja, weils schöner ist. Es war nur so ein Gedankengang.<br />
Ka, aber was ändert das am Makro problem ?<br />
Wie erzeuge ich dann in property die setter/getter ?</p>
</blockquote>
<p>ich fürchte, es geht nicht.<br />
und sowas</p>
<pre><code class="language-cpp">class data
{
	property&lt;Klasse1,test&gt;
	property&lt;Klasse1,var&gt;
	property&lt;Counter,count&gt;
};
</code></pre>
<p>ist dir bestimmt zu einfach.</p>
</blockquote>
<p>Hm, wenn man das als Macro machen würde, hätte man einen Weg,<br />
sogar ohne Templates. Ich muss mal überlegen, ob das<br />
alles so Sinn macht, evtl. gibts ja auch nen anderen Weg.<br />
Setter und Getter gleich sparen, und alles public machen.<br />
Naja, alles public vielleicht doch nicht...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1041870</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1041870</guid><dc:creator><![CDATA[phlox81]]></dc:creator><pubDate>Fri, 21 Apr 2006 11:10:21 GMT</pubDate></item><item><title><![CDATA[Reply to Makro: &amp;quot;test&amp;quot; zu test machen on Fri, 21 Apr 2006 11:19:46 GMT]]></title><description><![CDATA[<p>innerhalb des makros zwischen private und public switchen.</p>
<pre><code class="language-cpp">#define property(type,name)\
private:\
	type name;\
public:\
	type&amp; get##Name(){\
		return name;\
	}\
private:\
</code></pre>
<p>außerdem rproperty für nur lesen und wproperty für nur schreiben und rwproperty für beiden.</p>
<p>und jetzt kommt der trick: ich kann den getter nicht überschreiben. pech. ich lösche den mist wieder. dein ansatz ist besser. erben und in der basisklasse definieren und man kann überschreiben, wenn der getter anders funktionieren soll.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1041873</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1041873</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Fri, 21 Apr 2006 11:19:46 GMT</pubDate></item><item><title><![CDATA[Reply to Makro: &amp;quot;test&amp;quot; zu test machen on Fri, 21 Apr 2006 11:39:47 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>innerhalb des makros zwischen private und public switchen.</p>
<pre><code class="language-cpp">#define property(type,name)\
private:\
	type name;\
public:\
	type&amp; get##Name(){\
		return name;\
	}\
private:\
</code></pre>
<p>außerdem rproperty für nur lesen und wproperty für nur schreiben und rwproperty für beiden.</p>
<p>und jetzt kommt der trick: ich kann den getter nicht überschreiben. pech. ich lösche den mist wieder. dein ansatz ist besser. erben und in der basisklasse definieren und man kann überschreiben, wenn der getter anders funktionieren soll.</p>
</blockquote>
<p>Naja, meine Idee mit dem vererben wäre aber nen overhead, wenn als Makro gemacht.</p>
<p>Ein anderer Ansatz wäre, für das eigentliche Problem einen anderen Weg zu gehen.<br />
Ich will nen Universalconverter für z.b. csv/tsv dateien schreiben, der dann<br />
Format1 in Format2 wandelt. Dafür hab ich ne Klassenhierarchie und Polyphormismus.<br />
Also nix besonderes. Wenn jetzt alle Properties von der selben Basisklasse erben,<br />
bin ich schon mal den Typen los, und kann einen Getter für alle machen,<br />
z.b. BaseClass* GetItem(size_t pos)const;<br />
Die Properties liegen dann in einem vector&lt;BaseClass*&gt;.</p>
<p>Aber so ein property-template wäre schon ne tolle Sache...</p>
<p>phlox</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1041884</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1041884</guid><dc:creator><![CDATA[phlox81]]></dc:creator><pubDate>Fri, 21 Apr 2006 11:39:47 GMT</pubDate></item></channel></rss>