Uniform initialization
-
Hallo,
wann sollte man die Uniform initialization beim erzeugen eines neuen objects verwenden?
beispiel:
class BasicClass { public: BasicClass(int x, double y) : x_{x}, y_{y} {} private: int x_; double y_; }; int main() { BasicClass var1{5, 3.2}; return 0; }
-
Immer wenn es geht, oder gar nicht. Je nach Glaubensrichtung.
-
Immer wenn es geht, oder gar nicht. Je nach Glaubensrichtung.
Seit dem ich mal auf eine Funktionsdeklaration reingefallen bin, bin ich da eher bei ersterem.
Dann hat man mir gesagt: "Igitt, warum tust du sowas?"
Andererseits: Es heißt "Uniform initialization"...
Argumente sind hier zu finden: http://programmers.stackexchange.com/questions/133688/is-c11-uniform-initialization-a-replacement-for-the-old-style-syntax
-
Ich neige dazu, "immer" zu sagen, aber außer beim weggelassenen Typ (z.B. return {1, "bla"};) noch nach alter Schreibweise zu programmieren. Ich finde die runden klammern wesentlich schöner, aber die geschweiften sind halt einheitlich und erlauben konsistentere Schreibweise auch für leere Kontruktoren.
-
Für wenn man Listen meint.
-
