Rückgabe von true oder so etwas in bool-Funktion
Ich möchte wissen, ob, zum Beispiel, ich habe diese Funktion:
bool f(...) {
//something here
return true or f(...);
}
Ich weiß es nicht zurück true
aber tut es wieder ohne Bewertung dem anderen Teil der Aussage ist oder es nicht bewerten, die Funktion wieder?
was meinst du mit " anderen Teil des Codes?der ein, wo Sie erwähnt werden, //hier etwas?
Nein, die Rekursion Teil.
Nein, die Rekursion Teil.
InformationsquelleAutor hinafu | 2012-11-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nein, Es wird nicht evalue die func () - Aufruf.
LOGISCHE ODER ergibt 'Links nach Rechts' und Stoppt, wenn ein Ausdruck den Wert true zurück
können Sie es sowieso.hast du es testen?
testen Sie es mit unten-Programm:
wird es einfach ausführen doesnot drucken alles auf der Konsole.
Wenn du meinst, der andere Teil des Codes in der gleichen Funktion über den return-Anweisung,die ja,
es wird auch ausgeführt werden, wenn die Rückkehr staement ist wahr an der Unterseite.
wenn Sie meinen, die Rekursion Teil,dann Nein, es wird nicht ausgeführt werden, da es wahr ist, bevor der Aufruf in dieser Aussage.wenn es
return false||func()
,nur dann wird die Rekursion hier.Aktualisiert! die Antwort.ich bin noch nicht sicher, was du meinst mit dem anderen Teil!!!!
InformationsquelleAutor Vijay
Diese werden nicht bewerten, die Funktion, da wir wissen bereits, dass einer der Operanden wird oder würde, ist wahr. Das gleiche passiert mit:
Dies wird als Short-circuit-Evaluierung.
InformationsquelleAutor donhcd
Es gibt true zurück, ohne die Auswertung der Funktion. Seit dem ersten Zusammentreffen in oder Anweisungen garantiert rest ist wahr, also ist es sinnlos, weiter zu evaluieren.
InformationsquelleAutor codefreak
In diesem Fall wird es nicht call f wieder, weil er weiß das Ergebnis schon. Lookup "lazy evaluation" oder "short circuit evaluation"
InformationsquelleAutor John3136