Arrayelemente bzw. mehrere Variablen zusammen initialisieren
-
Hi Leute,
ich hab jetzt schon eine Weile gegoogelt... aber konnte irgendwie nichts finden.
Also es muss doch sicher irgendwie gehen, dass man mehrere Variablen zusammen initialisieren kann.
Also statt
int a = 0;
int b = 0;
int c = 0;
würde ich gerne schreiben
int a, b, c = 0; // alle Variablen auf 0 setzen.Das gleiche dann für strings, char und auch alle Elemente eines Arrays....
Würde mich über Info sehr freuen.
MfG
-
Nein. Das geht so nicht.
Was geht ist das hier:
int a = 0, b = 0;
Aber ich denke das ist nicht das, was du suchst.
Ein Array kannst du einfacher initialisieren:
int a[10] = {0}; // setzt alle elemente auf 0
Warum willst du das überhaupt so schreiben?
-
Ich frage mich was dir das bringt? Gerade bei den std::string o0
-
geht nur für Arrays.
int array[] = {3, 14, 25, 1};
Einzelne Variablen müssen auch einzeln initialisiert werden, allerdings sollte man zusammenhängende Variablen eh in eigene Klassen oder zumindest structs verpacken und da geht auch die Initialisierung am Stück wieder:
struct Point { int x; int y; }; Point p = {2,5};
Bei unabhängigen Variablen bringts nur Verwirrung wenn sie gemeinsam initialisiert werden, da das eine Abhängigkeit impliziert die nicht existiert. Außerdem werden selten mehr als zwei oder drei Variablen gleichzeitig initialisiert, ein solches Feature würde also keinen großen Gewinn bringen.
-
Aaaahso! Danke - wieder was gelernt
Kóyaánasqatsi schrieb:
Ich frage mich was dir das bringt? Gerade bei den std::string o0
Ja es ging mir eigentlich hauptsächlich um int-Variablen und arrays. Bei string und char hat mich einfach interessiert ob das überhaupt möglich ist....
pumuckl schrieb:
Einzelne Variablen müssen auch einzeln initialisiert werden, allerdings sollte man zusammenhängende Variablen eh in eigene Klassen oder zumindest structs verpacken und da geht auch die Initialisierung am Stück wieder
Es ging bei mir jetzt nur darum, dass ich eine Funktion hab, in der ich zwei int-Variablen habe.
Hab es so auf die Art wie ich geschrieben hab versucht und ging nicht... daher die Frage. Also nichts wildesZu den structs mal kurz: Ich dachte das wär so eine alte C-Geschichte, die jetzt in C++ von den Klassen mehr oder weniger abgelöst wurde.... ???
Werden structs in C++ überhaupt noch benutzt? Wo würde man dann eher struct oder eher Klasse einsetzen?
-
Mufasa schrieb:
Zu den structs mal kurz: Ich dachte das wär so eine alte C-Geschichte, die jetzt in C++ von den Klassen mehr oder weniger abgelöst wurde.... ???
Werden structs in C++ überhaupt noch benutzt? Wo würde man dann eher struct oder eher Klasse einsetzen?Strukturen werden meistens Klassen dann vorgezogen, wenn alle Member-Variablen public/öffentlich seien dürfen. Beziehungsweise auch dann, wenn man Daten einliest.
-
Recht üblich ist es, da structs zu nehmen, wo es in C auch ginge, also wenn sie keine Methoden, keine Konstruktoren/Destruktoren, keine überladenen Operatoren, keine virtuellen Methoden hat und auch nicht erbt oder vererbt (,was structs in C++ aber durchaus alles können).
-
Structs nimmt man meistens dann, wenn man mehrere Daten zu einem einzelnen Typ bündeln will, ohne irgendwelche zusätzliche Funktionalität. Bei Objekten, wo eine Funktionalität, d.h. ein bestimmtes Verhalten die Hauptrolle spielt, werden dann Klassen genommen und der reine Daten-Aspekt wird gekapselt.
Structs werden außerdem öfters bei Funktoren benutzt und als Hilfsmittel bei Template-Programmierung.
-
Aaaaha! Alles klar, super!! Danke schön