"return 0;" oder return(0);"?
-
Was ist der Unterschied? Gibt es überhaupt einen?
-
Nein.
-
Ja im PST.
-
Gast5465 schrieb:
Was ist der Unterschied? Gibt es überhaupt einen?
Die Lesbarkeit. Mehr nicht.
-
Gut und natürlich kommt es noch drauf an was man zurückgibt. Bei einem einfachen return 0 ist da nichts anders, aber z.B. bei sowas, sind Klammern dann natürlich nützlich und brauch man auch
return ( ((bool0 == (bool1 < bool2)) != ((bool3 == bool4) != (bool5 > bool6)) );
~Hab mich ausgetobt :D~
-
FreakY<3Cpp schrieb:
Gut und natürlich kommt es noch drauf an was man zurückgibt. Bei einem einfachen return 0 ist da nichts anders, aber z.B. bei sowas, sind Klammern dann natürlich nützlich und brauch man auch
return ( ((bool0 == (bool1 < bool2)) != ((bool3 == bool4) != (bool5 > bool6)) );
~Hab mich ausgetobt :D~
und
return (bool0 == (bool1 < bool2)) != ((bool3 == bool4) != (bool5 > bool6));
waere dann nicht mehr ok?
-
Die äußeren Klammern, um die es hier geht, braucht man nie. Zu was für einem Konflikt sollte es da auch kommen, return ist ja kein Operator.
-
FreakY<3Cpp schrieb:
Gut und natürlich kommt es noch drauf an was man zurückgibt. Bei einem einfachen return 0 ist da nichts anders, aber z.B. bei sowas, sind Klammern dann natürlich nützlich und brauch man auch
return ( ((bool0 == (bool1 < bool2)) != ((bool3 == bool4) != (bool5 > bool6)) );
~Hab mich ausgetobt :D~
Die Zusatzklammern finde ich höchstens verwirrend...
-
Ja ganz außen die Klammern brauch man natürlich nicht, aber ich persönlich finde
return (bool0 == bool1);
besser als
return bool0 == bool1;
Es gefällt meinen Augen besser
-
FreakY<3Cpp schrieb:
Es gefällt meinen Augen besser
Bei mir ists umgekehrt. Weil ich dann sofort ueberlegen wuerde was die klammern zu bedeuten haben...
-
Jeder hat seinen Geschmack, ich persönlich finde auch die Klammer, gleich nach der Funktion im Java Stil zu schreiben, hässlich.
int Funktion(){ }
Jedem das seine.
-
Die Schreibweise mit Klammern erweckt stark den Eindruck, dass der Autor nicht wusste, das es auch ohne geht, oder zumindest Angst hatte, dass es sonst irgendwie mehrdeutig werden würde. Und Code von Leuten, die bei solchen Sachen schon ins Grübeln kommen, kann auch sonst nicht viel taugen.
Das ist natürlich ein unzulässiger Schluss, aber für ein schlechtes Gefühl reicht es.
-
FreakY<3Cpp schrieb:
Jeder hat seinen Geschmack, ich persönlich finde auch die Klammer, gleich nach der Funktion im Java Stil zu schreiben, hässlich.
int Funktion(){ }
Na das mag ich dann wieder!
Abgesehen vom fehlenden Blank hinter der Parameterliste natürlich...
Stimmt schon, jedem das Seine.
-
Schrecklich finde ich vor allem Folgendes (also wenn ein einzelnes Token auf das Schlüsselwort folgt). Bei grösseren Berechnungen kann ich noch nachvollziehen, dass man bei
return
klammert, auch wenn ich es selbst nicht tue. Ein Leerzeichen zwischenreturn
und der öffnenden Klammer fände ich dann aber schon angebracht.return(value); delete(ptr); throw(exception);
Ich persönlich tendiere eher dazu, wenig Klammern zu verwenden. Wo ich sie z.B. einsetze, ist
bool varIsBig = (var > 10000);
Das finde ich übersichtlicher als
bool varIsBig = var > 10000;
Oder bei komplexeren Ausdrücken generell, hier für den ternären Operator:
function(x, y, (x+y < 20 || x == y) ? x+y : x-y);
Bei so vielen Operatoren verliere ich sonst schnell den Blick für das Wesentliche.
function(x, y, x+y < 20 || x == y ? x+y : x-y);
Wie handhabt ihr eigentlich die Initialisierung mit Werten, wenn eine implizite Konvertierung existiert?
std::string text = "hallo";
Oder doch eher Konstruktorsyntax?
std::string text("hallo");
-
Nachdem sich noch keiner den dummen Scherz erlaubt hat, muss ich wohl
return ((((((((42)))))))); // sure is sure
-
hustbaer schrieb:
return ((((((((42)))))))); // sure is sure
-
Nexus schrieb:
Wie handhabt ihr eigentlich die Initialisierung mit Werten, wenn eine implizite Konvertierung existiert?
std::string text = "hallo";
Oder doch eher Konstruktorsyntax?
std::string text("hallo");
Also ich find, wenn man schon eine implizite Konvertierung zulässt, dann sollte dem auch nachkommen.
Und wenn ich einen Konstruktur benötige, der einen Parameter erwartet, ihn aber nie für die implizite Konvertierung verwende, würde ich ihn auch als "explict" definiern.
Und was meinen die Anderen dazu ? :p
-
Die Konstruktorsyntax macht dann aber auch manchmal Probleme, bspw. wenn man den Standardkonstruktor damit aufrufen will (wenn wir schon bei lustigen Klammern sind...)
std::string mystr();
MfG SideWinder
-
sizeof(exp)
oder
sizeof exp
?
-
http://en.wikipedia.org/wiki/Sizeof#Use
MfG SideWinder