<?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[this auf 0 prüfen]]></title><description><![CDATA[<p>Hallo,</p>
<p>ist das eigentlich grundsätzlich korrekt oder comilerabhängig`?</p>
<pre><code class="language-cpp">void class::memberfunction() {
  if (!this) {
    return;
  }
}
</code></pre>
<p>damit könnte ich nämlich folgendes eleganter lösen:</p>
<pre><code class="language-cpp">class *c = get_object_aus_einer_liste();
if (c) {
  c-&gt;memberfunction();
}
// und hier noch 7 mal eine abfrage auf eine liste um ein objekt zu bekommen
</code></pre>
<p>daraus würde dann einfach:</p>
<pre><code class="language-cpp">get_object_aus_einer_liste()-&gt;memberfunction();
</code></pre>
<p>get_object_aus_einer_liste() würde dann halt 0 zurückgeben, wenn es kein passendes objekt findet.</p>
<p>ich habe eine gekachelte darstellung und möchte, wenn ich auf eine kachel zugreife die umliegenden kacheln auch markieren oder was auch immer.</p>
<p>frohe weihnachten<br />
jenz</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/257234/this-auf-0-prüfen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 10 Sep 2026 11:11:44 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/257234.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 25 Dec 2009 00:40:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to this auf 0 prüfen on Fri, 25 Dec 2009 00:40:29 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ist das eigentlich grundsätzlich korrekt oder comilerabhängig`?</p>
<pre><code class="language-cpp">void class::memberfunction() {
  if (!this) {
    return;
  }
}
</code></pre>
<p>damit könnte ich nämlich folgendes eleganter lösen:</p>
<pre><code class="language-cpp">class *c = get_object_aus_einer_liste();
if (c) {
  c-&gt;memberfunction();
}
// und hier noch 7 mal eine abfrage auf eine liste um ein objekt zu bekommen
</code></pre>
<p>daraus würde dann einfach:</p>
<pre><code class="language-cpp">get_object_aus_einer_liste()-&gt;memberfunction();
</code></pre>
<p>get_object_aus_einer_liste() würde dann halt 0 zurückgeben, wenn es kein passendes objekt findet.</p>
<p>ich habe eine gekachelte darstellung und möchte, wenn ich auf eine kachel zugreife die umliegenden kacheln auch markieren oder was auch immer.</p>
<p>frohe weihnachten<br />
jenz</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1827537</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1827537</guid><dc:creator><![CDATA[jenz]]></dc:creator><pubDate>Fri, 25 Dec 2009 00:40:29 GMT</pubDate></item><item><title><![CDATA[Reply to this auf 0 prüfen on Fri, 25 Dec 2009 00:42:48 GMT]]></title><description><![CDATA[<p>aufruf von 0-&gt;foo() ist bereits undefiniert! damit ist drinnen die abfrage nicht mehr sinnvoll, wenn man code schreiben will, der vom standard abgedeckt wird. leider.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1827540</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1827540</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Fri, 25 Dec 2009 00:42:48 GMT</pubDate></item><item><title><![CDATA[Reply to this auf 0 prüfen on Fri, 25 Dec 2009 00:50:13 GMT]]></title><description><![CDATA[<p>schade.</p>
<p>danke.</p>
<p>auf 0-&gt;foo() hätte ich auch mal kommen können, dann hätte ich mir mein ganzes geschreibsel sparen können...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1827541</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1827541</guid><dc:creator><![CDATA[jenz]]></dc:creator><pubDate>Fri, 25 Dec 2009 00:50:13 GMT</pubDate></item><item><title><![CDATA[Reply to this auf 0 prüfen on Fri, 25 Dec 2009 00:54:58 GMT]]></title><description><![CDATA[<p>jenz schrieb:</p>
<blockquote>
<p>auf 0-&gt;foo() hätte ich auch mal kommen können, dann hätte ich mir mein ganzes geschreibsel sparen können...</p>
</blockquote>
<p>Nein, das hätte ich niemals verstanden und hätte nur doof geguckt. Geschreibsel ist schon gut. Ich durfte 0-&gt;foo() in der Antwort nur schreiben, weil durch dein Geschreibsel der Kontext klar war, fürchte ich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1827542</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1827542</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Fri, 25 Dec 2009 00:54:58 GMT</pubDate></item><item><title><![CDATA[Reply to this auf 0 prüfen on Fri, 25 Dec 2009 01:04:45 GMT]]></title><description><![CDATA[<p>trotzdem muß das doofe</p>
<pre><code class="language-cpp">if (c)
</code></pre>
<p>nicht immer in den nutzcode rein. wenn der nutzcode schon verdammt kompliziert ist, irgendwelceh baumeinfügesachen, mache ich gerne mal</p>
<pre><code class="language-cpp">class foo
{
  static void tuwasfallsduexistierst(foo* c)
  {
    if(c)
      c-&gt;tues();
  }
  void tues()
  {
  }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1827545</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1827545</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Fri, 25 Dec 2009 01:04:45 GMT</pubDate></item><item><title><![CDATA[Reply to this auf 0 prüfen on Fri, 25 Dec 2009 07:34:34 GMT]]></title><description><![CDATA[<p>bei mir ists folgendermaßen:<br />
1. gekachelte fläche<br />
2. wenn man mit der maus drüber fährt soll die über der die maus ist größer werden<br />
3. gleichzeitig sollen die umliegenden kleiner werden.</p>
<p>8 funktionion für die umliegenden kacheln habe ich:<br />
tl,t,tr,l,r,bl,b,br (tl = topleft usw.)</p>
<p>jede kachel muss anders behandelt werden (alle sind an der linke oberen ecke festgenagelt):<br />
tl: höhe und breite<br />
t: höhe<br />
tr: höhe und breite und nach rechts verschieben<br />
l: breite<br />
r: breite und nach rechts<br />
bl: breite/höhe und nach unten<br />
b: höhe und nach unten<br />
br: höhe breite und nach rechts und nach unten</p>
<p>da sehe ich jetzt eigentlich nur noch jeweils:</p>
<pre><code class="language-cpp">piece *p(tl);
if (p) {
  p-&gt;size(x,y);
}
</code></pre>
<p>und so weiter für alle anderen.</p>
<p>klar kann man jetzt noch mal für alle einzeln kapseln, aber davon habe ich auch nicht viel, also alles in eine methode.<br />
die hat dann statt 8 zeilen gleich 32.</p>
<p>so wäre es sooooo schön:</p>
<pre><code class="language-cpp">tl()-&gt;sizerel(-x,-y);
  t()-&gt;sizerel(0,-y);
  tr()-&gt;sizerel(-x,-y)-&gt;move(x,0);
  l()-&gt;sizerel(-x,0);
  r()-&gt;sizerel(-x,0)-&gt;move(x,0);
  bl()-&gt;sizerel(-x,-y)-&gt;move(0,y);
  b()-&gt;sizerel(0,-y)-&gt;move(0,y);
  br()-&gt;sizerel(-x,-y)-&gt;move(x,y);
</code></pre>
<p>grüße<br />
jens</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1827567</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1827567</guid><dc:creator><![CDATA[jenz]]></dc:creator><pubDate>Fri, 25 Dec 2009 07:34:34 GMT</pubDate></item><item><title><![CDATA[Reply to this auf 0 prüfen on Fri, 25 Dec 2009 10:26:08 GMT]]></title><description><![CDATA[<blockquote>
<p>klar kann man jetzt noch mal für alle einzeln kapseln, aber davon habe ich auch nicht viel, also alles in eine methode.</p>
</blockquote>
<p>Warum hast du da nicht so viel davon?<br />
Ist doch eine gute Methode..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1827600</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1827600</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Fri, 25 Dec 2009 10:26:08 GMT</pubDate></item><item><title><![CDATA[Reply to this auf 0 prüfen on Fri, 25 Dec 2009 14:45:03 GMT]]></title><description><![CDATA[<p>weil ich davon einfach keinen gewinn habe.</p>
<p>so habe ich jetzt eine funktion mit 32 zeilen, und die funktion werde ich wohl sonst nirgends brauchen.</p>
<p>wenn ich da jetzt für jede kachel eine extra funktion draus baue, dann habe ich 8 funktionen mit jeweils 5 zeilen plus eine 8 zeilen funktion um die alle aufzurufen.<br />
und dann brauche ich diese einzelnen funktionen auch nie wieder, also lasse ich lieber alles in einer.</p>
<p>jenz</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1827724</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1827724</guid><dc:creator><![CDATA[jenz]]></dc:creator><pubDate>Fri, 25 Dec 2009 14:45:03 GMT</pubDate></item><item><title><![CDATA[Reply to this auf 0 prüfen on Fri, 25 Dec 2009 15:04:46 GMT]]></title><description><![CDATA[<p>dann nimm doch ein nullobjekt:</p>
<pre><code class="language-cpp">whatever *tr()
{
    static whatever;

    if (something)
        return tollesobjekt;

    //return 0; // nein!
    return &amp;whatever;
}
</code></pre>
<p>natürlich darf das objekt nichts machen oder andere objekte beeiflussen.<br />
musst du irgentwie markieren, oder du leitest eine nullklasse von deiner<br />
hauptklasse ab.<br />
dafür kannst du das aber so schreiben wie du möchtest. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1827732</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1827732</guid><dc:creator><![CDATA[tippgeber]]></dc:creator><pubDate>Fri, 25 Dec 2009 15:04:46 GMT</pubDate></item><item><title><![CDATA[Reply to this auf 0 prüfen on Fri, 25 Dec 2009 15:07:35 GMT]]></title><description><![CDATA[<p>tippgeber schrieb:</p>
<blockquote>
<p>dann nimm doch ein nullobjekt:</p>
<pre><code class="language-cpp">whatever *tr()
{
    static whatever;

    if (something)
        return tollesobjekt;

    //return 0; // nein!
    return &amp;whatever;
}
</code></pre>
<p>natürlich darf das objekt nichts machen oder andere objekte beeiflussen.<br />
musst du irgentwie markieren, oder du leitest eine nullklasse von deiner<br />
hauptklasse ab.<br />
dafür kannst du das aber so schreiben wie du möchtest. <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>
</blockquote>
<p>Und Laufzeit bezahlen. Nee, häßlich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1827733</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1827733</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Fri, 25 Dec 2009 15:07:35 GMT</pubDate></item><item><title><![CDATA[Reply to this auf 0 prüfen on Fri, 25 Dec 2009 17:08:05 GMT]]></title><description><![CDATA[<p>Ich verstehe immer noch nicht, was an volkards Vorschlag so schlecht sein soll?</p>
<pre><code class="language-cpp">foo::sizerel(t1,-x,-y);
  foo::sizerel(t,0,-y);
  foo::sizerel(tr,-x,-y)-&gt;move(x,0);
  foo::sizerel(l,-x,0);
  foo::sizerel(r,-x,0)-&gt;move(x,0);
  foo::sizerel(b1,-x,-y)-&gt;move(0,y);
  foo::sizerel(b,0,-y)-&gt;move(0,y);
  foo::sizerel(br,-x,-y)-&gt;move(x,y);
</code></pre>
<p>Ist doch nicht so viel unleserlicher, als auf die -&gt; Art. Und vor allem hast du keinen Copy/Paste Code..</p>
<p>Ich denke mit ein wenig boost::bind und boost::function könnte man da auch was sehr schönes, allgemeines machen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1827789</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1827789</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Fri, 25 Dec 2009 17:08:05 GMT</pubDate></item><item><title><![CDATA[Reply to this auf 0 prüfen on Fri, 25 Dec 2009 17:26:18 GMT]]></title><description><![CDATA[<p>Hihi, Du mußt ja voll im Weihnachtsstreß sein. :xmas1:</p>
<pre><code class="language-cpp">foo::sizerel(tr,-x,-y)-&gt;move(x,0);//ist 0-&gt;move() erlaubt?
</code></pre>
<pre><code class="language-cpp">foo::move(foo::sizerel(tr,-x,-y),x,0);//java?
</code></pre>
<pre><code class="language-cpp">//noch ein syntax-trick
  if(tile* t= tl() ) t-&gt;sizerel(-x,-y);
  if(tile* t= t()  ) t-&gt;sizerel(0,-y);
  if(tile* t= tr() ) t-&gt;sizerel(-x,-y)-&gt;move(x,0);
  if(tile* t= l()  ) t-&gt;sizerel(-x,0);
  if(tile* t= r()  ) t-&gt;sizerel(-x,0)-&gt;move(x,0);
  if(tile* t= bl() ) t-&gt;sizerel(-x,-y)-&gt;move(0,y);
  if(tile* t= b()  ) t-&gt;sizerel(0,-y)-&gt;move(0,y);
  if(tile* t= br() ) t-&gt;sizerel(-x,-y)-&gt;move(x,y);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1827791</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1827791</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Fri, 25 Dec 2009 17:26:18 GMT</pubDate></item><item><title><![CDATA[Reply to this auf 0 prüfen on Fri, 25 Dec 2009 17:30:44 GMT]]></title><description><![CDATA[<p>Hehe. Hups, ja stimmt. Das macht das ganze natürlich nicht mehr soo trivial. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1827795</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1827795</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Fri, 25 Dec 2009 17:30:44 GMT</pubDate></item></channel></rss>