Variable variable benenen
-
Hallo,
Ich habe ein kleines Problem damit das ich meine Variablen nicht Variable benenen kann. Ich habe einen Code der das eigentlich über Arays lösen sllte doch das funzt net ganz.
void sonnensysteme() { int ssnummer=0; int pnummer=0; int planetenanzahl=0; String koordinatensys; String strssnummer; String strpnummer; //-------------------- srand(time(NULL)); int ss=rand()%5 +1; ssnummer=ssnummer++; strssnummer=IntToStr(ssnummer); if(ss=1) { planetenanzahl=6; pnummer=pnummer++; strpnummer=IntToStr(pnummer); koordinatensys="ss"+strssnummer+"p"+strpnummer; char Klasse_[koordinatensys]="Muh"; } };Ideen,Vörschläge?Bin für jede Lösung dankbar. ^^
-
Mor schrieb:
Ich habe ein kleines Problem damit das ich meine Variablen nicht Variable benenen kann.
wtf

was willst den machen, verstehe dein Problem nicht
btw: das funktioniert?!?
String koordinatensys; // char Klasse_[koordinatensys]="Muh";
-
Da liegt ja mein Problem es funzt net. ^^ Da habe ich nen tipp Fehler Variablen und variabel höhren sich ja auch ähnlich an

Insgesamt soll die Komplette Funktion nachher nur ein Sonnensystem erstellen. Da ich das immerwieder machen muss brauche ich ja immer verschiedene Variablen Namen. Da liegt mein Problem ich habe keinen Plan wie ich das hinkriege.
-
naja das Problem ist folgendes:
String koordinatensys; // char Klasse_[koordinatensys]="Muh"; // das char Array erwartet eine konstante groessedu willst anscheinend jeweils 2 Strings miteinander in Verbindung bringen, du koenntest es mit einer map loesen zb so:
map<string, string> m;das bedeutet jeder map Eintrag besteht aus einem String Paar (einem Schluessel und einem Wert dazu)
dann brauchst du nur mehr das Schreibentypedef map<string, string>::value_type val; m.insert(val(koordinatensys, "muh"));
-
Eigentlich will ich das sich aus Klasse_ und koordinatensys ein Name für eine Variable zusammensezt der dann auch gespeichert wird. und immerwieder abruf bar ist. Nur diese Variable sollte zum testemn den Wert Muh bekommen

-
Ob du es glaubts oder nicht, das willst du nicht ;). Wie willst du denn einen variablen Variablennamen wieder aufrufen? Gehst du dann alle möglichen Namen durch? Also mein Compiler macht sowas nicht mit. Du könntest höchstens etwas mit dem Präprozessor herumspielen, aber die Map-Lösung ist die einzig Praktikable (und für deinen Fall auch Sinnvolle).
-
Es muss aber doch eine möglichkeit geben etwas unendlich oft Variablen zu erstellen die Ich später auch benutzen kann?!
-
Variablen nicht, aber du kannst dynamisch Speicher reservieren. Oder du nimmst wie vorgeschlagen einen STL Container, der macht das dann schon selber. Jaja welch ein Luxus in der heutigen Welt. Dazu findest du alles in dem C++ Buch deiner Wahl.
Muhahaha war 2 sek schneller :>
Gruß
-
unendlich oft nicht, dazu reicht der speicher nicht.
Man kann mit new völlig frei Speicher reservieren, aber dazu solltest du dich damit näher beschäftigen. So einfach ist es nämlich nicht. Das ist dann nämlich nicht mehr das, was du unter Variable verstehst.
Variablen müssen immer zur Compilerzeit einen Namen haben, nicht erst, wenn das Programm läuft. Das heißt, die Namen der Variablen müssen irgendwo in deinem Quelltext im Klartext stehen, und zwar in der Variablendeklaration.übrigens kannst du einem char keinen string zuweisen.
geloeschtEDIT: Mist.... dafür war meins ausführlicher
-
Yesh das ist doch toll was ihr mir hier für Lösungen aufbietet
im tutorials.de Forum ahbe ihc keine Hilfe bekommen. ^^ So also mir ist nur wichtig das ich die speichern kann und auch immerwieder abrufen
So dann gucke ich mir mal new un delet an ^^