variable aus 2 zusammengesetzen wörtern abrufen (x2 -> xy, y = 2)
-
juhu ich habe mal "wieder" ein Problem und freue mich schon auf eure Lösungen
Also:
man hat mehrere Vars ein und desselben typens.
char *var1; char *var2; char *var3; char *var4; var1 = "blabla"; var2 = "blabla"; var3 = "blub"; var4 = "muh";
jetzt möchte ich diese ganzen vars in eine Schleife ansprechen und nicht 4 mal eine if schleife nehmen, um ihnen einen wert zuzuweisen:
int x; x = 0; while (x <= 4 { if (var[x] ?!?! == blabla) { bla bla } x++; }
und genau hier ist mein Problem, wie kann ich es machen, dass er anstatt von var4 irgendwie den Namen per zusammensetzen von namen "var" und dem inhalt von "x" bekommt ? Hoffe das Topic war zu verstehen und was ich wollte, kann man irgendwie komisch beschreiben
Irgendwann werd ichs wohl können, danke für eure Hilfe
-
Bezeichner sind Schall und Rauch. Im konkreten Fall könntest du natürlich ein Array nehmen, in manchen Fällen ist eine std::map mit std::string als Schlüssel praktisch. Aber allgemein geht das nicht.
-
In PHP geht sowas, aber nicht in C++.
-
PHP ist ja auch ein interpreter interpreter.
wenn du sowas machen willst, dann musst du schon eine map<string,int> nehmen.
Vielleicht geht aber folgendes:
#define CONCAT(a,b) (a##b) int ab; CONCAT(a,b)=6;
in deinem Fall. a und b sind aber keine strings! nur defines und herumstehende Wörter sind erlaubt.
-
Irgendwer schrieb:
PHP ist ja auch ein interpreter interpreter.
PHP IST kein Interpreter, sondern es WIRD interpretiert. Außerdem hat das DAMIT nichts zu tun. Gibt zig andre interpretierte Sprachen, die es trotzdem nicht anbieten.
Vielleicht geht aber folgendes:
#define CONCAT(a,b) (a##b) int ab; CONCAT(a,b)=6;
in deinem Fall. a und b sind aber keine strings! nur defines und herumstehende Wörter sind erlaubt.
Variablensplitting?