Warum verlangt er ein ; ?

04/20/2012 14:36 Dr. Coxxy#16
hab ihm ja auch schon gesagt, er solle erstmal die sprache lernen und nachdenken, bevor er versucht zu "helfen"...

Quote:
erst nachdenken, was die funktion eigentlich tun soll, dann posten, oder die sprache lernen, wasauchimmer...
04/20/2012 18:14 MrSm!th#17
Quote:
Originally Posted by Nightblizard View Post
Das bewirkt, dass die Variable b x mal um 1 erhöht wird. Das müsste der Optimierer aber entfernen. :>

Siehe meine beiden bisherigen Antworten, denn wie ich zuvor bereits sagte, ergibt das in diesem Fall keinen Sinn. ;)
Dass es keinen Sinn ergibt und was am Code des TE falsch war, wusste ich schon, nur das Semikolon hab ich nicht kapiert. Danke!
04/21/2012 09:51 Tyrar#18
wird in den meisten fällen übrigens für sachen wie:
Code:
foo=1337;
while(foo->GetName()==bar) ++foo;
da bietet sich eine for schleife aus dem grund an, dass da direkt alles drin is :)
Code:
for(CFoo* foo=1337; foo->GetName()==bar; ++foo);
meiner meinung nach auch übersichtlicher :)

was allerdings den code angeht:
die for loop hat wird nichtmal verwendet, da wäre es sinnvoller die zeile zu entfernen um nochmal mehr übersicht zu behalten.
was die code generierung angeht macht das nach meinen informationen keinen unterschied
04/21/2012 09:55 Dr. Coxxy#19
Code:
for(CFoo* foo=1337; foo->GetName()==bar; ++foo);
nur schade, dass man danach mit foo nix mehr anfangen kann, weils nur lokal in der schleife existiert...
(ja, kann sein, dass mans danach nicht mehr braucht, aber ist meistens so...)

solche einzeilerschleifen tragen nur zur unübersichtlichkeit bei und sollten unterlassen werden, wenn man es mit absicht macht, dann bitte so:
Code:
for(CFoo* foo = 1337; foo->GetName() == bar; foo++)
{
    ; //intentionally left blank ;)
}
und hat ja auch nix mit dem code des te zu tun, da hatte die schleife schließlich einen sinn...