"return 0;" oder return(0);"?
-
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
-
camper schrieb:
sizeof(exp)
oder
sizeof exp
?
So tun als ob es eine Funktion ist und natürlich Klammern setzen!
-
Im Grunde ist es ja wirklich nur eine Frage des Geschmacks. Ich bevorzuge ganz klar die return-Variante ohne Klammern, dafür krieg ich aber Herzflimmern bei einem sizeof ohne Klammern, auch wenn's eigentlich ein Keyword ist und keine Funktion. Konstruktoren kriegen bei mir grundsätzlich Klammern verpasst, das soll mich daran erinnern, dass sie auch wirklich initialisiert sind