Sehr oft sehe ich Code wie diesen (C, C ++ und manchmal Java):
%Vor% Ich sehe keinen Vorteil dieser Klammern. Meine Frage ist also, haben die Programmierer return
als eine Art Funktion mit dem Rückgabewert als Argument angenommen oder gibt es wirklich Fälle, in denen diese Klammern sinnvoll sind?
Ich verstehe, dass eine ähnliche Frage bereits gestellt wurde hier , aber das hängt damit zusammen Nur ANSI C. Ich frage mich, ob es bestimmte C ++ - oder Java-spezifische Aspekte gibt, die dort nicht beantwortet wurden.
In Bezug auf C
Klammern werden dort platziert, wo ein Ausdruck vorhanden ist, und man möchte, dass der Rückgabewert dieser Wert des Ausdrucks ist. Selbst dann sind Klammern nicht erforderlich. Es ist völlig in Ordnung, etwas wie
zu schreiben %Vor% Programmierer machen es return (x + y);
, um es lesbarer zu machen.
Also, Klammern zu setzen ist eine Frage der Meinung und Praxis.
In Bezug auf C ++
Es gibt einen geheimnisvollen Fall, in dem Klammern wichtig sind. Zitieren diese Frage
%Vor%Sie können sehen, dass die zurückgegebenen Werte anders sind, und dies liegt an den Klammern. Sie können diese Antwort ausführlich durchgehen.
In Bezug auf Java macht Klammern keinen Unterschied.
Codierungskonventionen schlagen vor, mit
zu gehen %Vor%Um mehr zu verstehen, lesen Sie diese Antwort.
HINWEIS: Ich weiß nicht viel über Java und C ++. Der gesamte Inhalt meiner Antwort zu Java und C ++ ist aus anderen Antworten entnommen. Ich habe dies getan, um die verschiedenen Konventionen für die drei Sprachen zu konsolidieren.
Technisch gesehen gibt es keinen Grund, den angegebenen Ausdruck in return
zu klammern. Es ist eine Frage des Geschmacks wirklich.
Das heißt, ich spalte normalerweise einen return
-Ausdruck, wenn er boolesche Operatoren verwendet. Da solche Operatoren typischerweise als Teil von while
oder if
betrachtet werden, macht es klarer, dass Sie etwas mit diesem Wert machen wollen, abgesehen von meiner Meinung nach.