<?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[Elegante Lösung Strukturenvergleich]]></title><description><![CDATA[<p>Aloha,</p>
<p>ich suche nach einem schönen Weg die Werte von zwei Strukturen zu vergleichen.</p>
<p>Beispiel :</p>
<pre><code>struct mystruct{

int wert1;
int wert2;
int wert3;
CString wert4;
....

}
</code></pre>
<p>Nu habe ich zwei vom typ mystruct ( struct1 &amp; struct2 ), und möchte sehen, ob die beiden sich in einzelnen Werten unterscheiden, und wenn ja in welchen.</p>
<p>Die unschöne Herangehensweise ist :</p>
<pre><code>if(struct1.wert1 == struct2.wert1){

mach was

}else{

mach was

}

if(struct1.wert2 == struct2.wert2){
usw...
</code></pre>
<p>Ist doch Hackersch..sse.</p>
<p>Es gibt bestimmt elegantere Lösungen, nur fallen sie mir grad net ein...</p>
<p>Grüße</p>
<p>BOA</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/64253/elegante-lösung-strukturenvergleich</link><generator>RSS for Node</generator><lastBuildDate>Thu, 04 Jun 2026 21:56:36 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/64253.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 09 Feb 2004 12:39:34 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Elegante Lösung Strukturenvergleich on Mon, 09 Feb 2004 12:39:34 GMT]]></title><description><![CDATA[<p>Aloha,</p>
<p>ich suche nach einem schönen Weg die Werte von zwei Strukturen zu vergleichen.</p>
<p>Beispiel :</p>
<pre><code>struct mystruct{

int wert1;
int wert2;
int wert3;
CString wert4;
....

}
</code></pre>
<p>Nu habe ich zwei vom typ mystruct ( struct1 &amp; struct2 ), und möchte sehen, ob die beiden sich in einzelnen Werten unterscheiden, und wenn ja in welchen.</p>
<p>Die unschöne Herangehensweise ist :</p>
<pre><code>if(struct1.wert1 == struct2.wert1){

mach was

}else{

mach was

}

if(struct1.wert2 == struct2.wert2){
usw...
</code></pre>
<p>Ist doch Hackersch..sse.</p>
<p>Es gibt bestimmt elegantere Lösungen, nur fallen sie mir grad net ein...</p>
<p>Grüße</p>
<p>BOA</p>
]]></description><link>https://www.c-plusplus.net/forum/post/455059</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/455059</guid><dc:creator><![CDATA[BOA]]></dc:creator><pubDate>Mon, 09 Feb 2004 12:39:34 GMT</pubDate></item><item><title><![CDATA[Reply to Elegante Lösung Strukturenvergleich on Mon, 09 Feb 2004 13:39:29 GMT]]></title><description><![CDATA[<p>Wie wärs wenn du den == Operator überlädst?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/455110</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/455110</guid><dc:creator><![CDATA[Walli]]></dc:creator><pubDate>Mon, 09 Feb 2004 13:39:29 GMT</pubDate></item><item><title><![CDATA[Reply to Elegante Lösung Strukturenvergleich on Mon, 09 Feb 2004 14:00:54 GMT]]></title><description><![CDATA[<p>Aloha,</p>
<p>ist ne schöne Sache, aber dann muß ich doch an einer anderen Stelle diese Abfragen machen, nämlich dort, wo ich die Überladung definiere, oder stehe ich jetzt auf dem Schlauch ?</p>
<p>Wobei Operator - Überladungen natürlich elegant aussehen, keine Frage. <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>
<p>Grüße</p>
<p>BOA</p>
]]></description><link>https://www.c-plusplus.net/forum/post/455133</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/455133</guid><dc:creator><![CDATA[BOA]]></dc:creator><pubDate>Mon, 09 Feb 2004 14:00:54 GMT</pubDate></item><item><title><![CDATA[Reply to Elegante Lösung Strukturenvergleich on Mon, 09 Feb 2004 14:06:03 GMT]]></title><description><![CDATA[<p>Das einzige was mir einfällt un den code etwas zu kürze (find ich aber nicht elegant) wär das:</p>
<pre><code class="language-cpp">if( (struct1.wert1 == struct2.wert1) || (struct1.wert2 == struct2.wert2) )
{
mach was
}
else
{
mach was
}
</code></pre>
<p>Geht natürlich nur, wenn nach dem if und dem else immer das gleiche passiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/455136</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/455136</guid><dc:creator><![CDATA[haedfinger]]></dc:creator><pubDate>Mon, 09 Feb 2004 14:06:03 GMT</pubDate></item><item><title><![CDATA[Reply to Elegante Lösung Strukturenvergleich on Mon, 09 Feb 2004 14:12:13 GMT]]></title><description><![CDATA[<p>Aloha headfinger,</p>
<p>passiert leider net.</p>
<p>Ich muß unabhängig reagieren können, trotzdem<br />
tausend und einen Dank für den Vorschlag.</p>
<p>Ich glaube auch, daß mein Thread schwachsinnig ist, denn ich will ja wirklich einzelne Werte vergleichen, ergo muß ich diese auch mühselig ( es handelt sich um ca. 50 Werte ) nach und nach vergleichen, um entsprechend reagieren zu können.</p>
<p>Ich denke ich werde die Operator-Überladung testen, weil ich es schon lange nicht mehr benutzt habe, damit ich nicht einroste.</p>
<p>Grüße</p>
<p>BOA</p>
]]></description><link>https://www.c-plusplus.net/forum/post/455143</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/455143</guid><dc:creator><![CDATA[BOA]]></dc:creator><pubDate>Mon, 09 Feb 2004 14:12:13 GMT</pubDate></item><item><title><![CDATA[Reply to Elegante Lösung Strukturenvergleich on Mon, 09 Feb 2004 14:21:38 GMT]]></title><description><![CDATA[<p>BOA schrieb:</p>
<blockquote>
<p>Aloha,</p>
<p>ist ne schöne Sache, aber dann muß ich doch an einer anderen Stelle diese Abfragen machen, nämlich dort, wo ich die Überladung definiere, oder stehe ich jetzt auf dem Schlauch ?</p>
<p>Wobei Operator - Überladungen natürlich elegant aussehen, keine Frage. <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>
<p>Grüße</p>
<p>BOA</p>
</blockquote>
<p>Nein, Du stehst nicht auf dem Schlauch.</p>
<p>Ich würde Dir auch eher dazuraten den Operator zu überladen. Sieht einfach eleganter aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/455154</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/455154</guid><dc:creator><![CDATA[Frenzy]]></dc:creator><pubDate>Mon, 09 Feb 2004 14:21:38 GMT</pubDate></item><item><title><![CDATA[Reply to Elegante Lösung Strukturenvergleich on Mon, 09 Feb 2004 14:25:59 GMT]]></title><description><![CDATA[<p>Aloha,</p>
<p>jo, auch dank an Dich, bin gerade dabei.... <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>Grüße</p>
<p>BOA</p>
]]></description><link>https://www.c-plusplus.net/forum/post/455157</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/455157</guid><dc:creator><![CDATA[BOA]]></dc:creator><pubDate>Mon, 09 Feb 2004 14:25:59 GMT</pubDate></item><item><title><![CDATA[Reply to Elegante Lösung Strukturenvergleich on Mon, 09 Feb 2004 17:22:20 GMT]]></title><description><![CDATA[<p>Als kurze Lösung würde mir allenfalls noch einfallen die Structs mit memcpy zu vergleichen, aber das ist aber ziemlich dirty. Ausserdem muss dann sichergestellt sein, dass die padding-bytes immer gleich sind (wovon ich mal rein intuitiv nicht ausgehe) oder man muss packed-structs erzeugen. Ich denke die beste Idee ist hier wirklich eine Überladung des == Operators, auch wenns ein wenig Mühe macht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/455374</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/455374</guid><dc:creator><![CDATA[Walli]]></dc:creator><pubDate>Mon, 09 Feb 2004 17:22:20 GMT</pubDate></item><item><title><![CDATA[Reply to Elegante Lösung Strukturenvergleich on Mon, 09 Feb 2004 22:17:37 GMT]]></title><description><![CDATA[<blockquote>
<p>die Structs mit memcpy zu vergleichen, aber das ist aber ziemlich dirty. Ausserdem muss dann sichergestellt sein, dass die padding-bytes immer gleich sind</p>
</blockquote>
<p>Naja, nach einem memcpy ist das sicher kein problem mehr <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>
<p>du meisnt sicher memcmp.. aber auch damit würde ich gar nicht erst anfangen. erstens Zeiger, zweitens - wie du schon sagtest - padding-bytes.</p>
<p>am operator== (und elementweises vergleichen) führt kein allgemeiner Weg vorbei.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/455632</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/455632</guid><dc:creator><![CDATA[peterchen]]></dc:creator><pubDate>Mon, 09 Feb 2004 22:17:37 GMT</pubDate></item><item><title><![CDATA[Reply to Elegante Lösung Strukturenvergleich on Tue, 10 Feb 2004 14:04:02 GMT]]></title><description><![CDATA[<p>Mann kann Operatoren doch nur von Klassen überschreiben <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/456128</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/456128</guid><dc:creator><![CDATA[Rapha]]></dc:creator><pubDate>Tue, 10 Feb 2004 14:04:02 GMT</pubDate></item><item><title><![CDATA[Reply to Elegante Lösung Strukturenvergleich on Tue, 10 Feb 2004 14:46:14 GMT]]></title><description><![CDATA[<p>Rapha schrieb:</p>
<blockquote>
<p>Mann kann Operatoren doch nur von Klassen überschreiben <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
</blockquote>
<p>auch struktoren könne operatoren haben und methoden und kostruktoren und destruktoren und virtuelle funktionen und vererbung und templates und alles halt, was klassen können.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/456174</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/456174</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Tue, 10 Feb 2004 14:46:14 GMT</pubDate></item><item><title><![CDATA[Reply to Elegante Lösung Strukturenvergleich on Tue, 10 Feb 2004 15:09:47 GMT]]></title><description><![CDATA[<p>Auch schon in C?<br />
Das ist mir ehrlich gesagt neu <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /><br />
Was ist dann der Vorzug einer Klasse (außer dass class schöner aussieht als struct) <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/456199</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/456199</guid><dc:creator><![CDATA[Rapha]]></dc:creator><pubDate>Tue, 10 Feb 2004 15:09:47 GMT</pubDate></item><item><title><![CDATA[Reply to Elegante Lösung Strukturenvergleich on Tue, 10 Feb 2004 15:20:48 GMT]]></title><description><![CDATA[<p>Rapha schrieb:</p>
<blockquote>
<p>Auch schon in C?<br />
Das ist mir ehrlich gesagt neu <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /><br />
Was ist dann der Vorzug einer Klasse (außer dass class schöner aussieht als struct) <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>
</blockquote>
<p>in class ist das zeug drinnen private, solange man nicht was anderes schreibt und in struct isses public. da ich das private aber trotzdem hinschreibe in class, isses wurst. &quot;class&quot; läßt sich viel feiner tippen als &quot;struct&quot;. außerdem würden mir die leute bei struct nicht glauben, daß der code objektorientiert ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/456213</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/456213</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Tue, 10 Feb 2004 15:20:48 GMT</pubDate></item><item><title><![CDATA[Reply to Elegante Lösung Strukturenvergleich on Tue, 10 Feb 2004 16:11:44 GMT]]></title><description><![CDATA[<p>Stimmt<br />
und vererben kann man bestimmt auch nicht <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 />
ich hatte private, public, friend und die Vererbung vergessen</p>
<p>Grüße Rapha</p>
]]></description><link>https://www.c-plusplus.net/forum/post/456224</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/456224</guid><dc:creator><![CDATA[Rapha]]></dc:creator><pubDate>Tue, 10 Feb 2004 16:11:44 GMT</pubDate></item><item><title><![CDATA[Reply to Elegante Lösung Strukturenvergleich on Tue, 10 Feb 2004 15:42:42 GMT]]></title><description><![CDATA[<p>Rapha schrieb:</p>
<blockquote>
<p>Stimmt<br />
und vererben kann man bestimmt auch nicht <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>
</blockquote>
<p>stimmt. deshalb hab ich um 15:46 gepostet, daß vererbung geht.</p>
<p>bevor es zu lange dauert, hier die ganze geschichte:<br />
daß in struct per default die sachen public sind und in class private ist der einzige unterschied!</p>
<pre><code class="language-cpp">struct Foo:public string
{
   private:
      Foo(const Foo&amp;);
   public:
      Foo()
      :string(&quot;hallo&quot;)
      {
      }
      virtual ~Foo()
      {
      }
   friend ostream&amp; operator&lt;&lt;(ostream&amp; out,Foo const&amp; f)
   {
      return out&lt;&lt;string(f);
   }
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/456233</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/456233</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Tue, 10 Feb 2004 15:42:42 GMT</pubDate></item><item><title><![CDATA[Reply to Elegante Lösung Strukturenvergleich on Tue, 10 Feb 2004 16:12:18 GMT]]></title><description><![CDATA[<p>Und schon wieder was gelernt <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="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/456261</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/456261</guid><dc:creator><![CDATA[Rapha]]></dc:creator><pubDate>Tue, 10 Feb 2004 16:12:18 GMT</pubDate></item></channel></rss>