Erstelle Struct/Variabel abhänig von einer Zeichenkette (ohne Switch Case)



  • man kann das natürlich machen, aber das hat dann nix mehr mit struktur_x->y zu tun sondern eher mit root->GetStruktur( "x" )->FindValue( "y" ); und dann brauchst du in den zurückgegebenen Typen jede Menge Konversionscode von String zu Typ usw. usf.

    Was willst du denn mit deinen "Struckturen" machen, sobald sie mal aus der Datei gelesen wurden und mit den Daten daraus gefüllt wurden?



  • ich möchte die Strucktur dann einer Funktion übergeben bzw ich übergebe dann den Zeiger der Strucktur an eine Funktion...



  • Naja, ich weiß ja nicht... Man kann sicherlich binärkompatible "Struckturen" dynamisch im Speichern erzeugen (zumindest plattformabhängig)... Aber ich erkenn den Sinn nicht... man müsste dem "Strucktur"-Interpreter ja wieder eine Definition liefern, die im Quellcode sowieso schon vorhanden ist... Naja, mach du da mal mit deinen "Struckturen".



  • 😃



  • Wir sind hier ja bei C++ 😉 Mach aus Deinen Struckturen 😃 Klassen.
    Die ganzen Klassen sind von einer abstrakten Basisklasse abgeleitet.
    Jede Klasse bekommt eine statische Create-Methode, die ein Objekt der jeweiligen Klasse erzeugt und als Zeiger auf ein Basisklassen-Objekt zurückgibt.
    Diese Create-Methode registrierst Du z.B. in einer Map, als Schlüssel nimmst Du Deinen Struckt:D Namen.

    Einige Vorredner haben das Vorgehen auch schon vorgeschlagen, nur kürzer - Stichwort Fabrik oder Factory und Registrierung 😉



  • Nein, er hat ja hunderte von diesen Struckturen und will den Serialisierungs-Code nicht selber schreiben, zudem soll das was hinten bei rauskommt binärkompatibel zu den hunderten Struckturen sein, die in seinem Quelltext schon definiert sind!
    Klingt halt nach einem typischen dynamischen lowelevel Linux-Interpreter.



  • MichelRT schrieb:

    Wir sind hier ja bei C++ 😉 Mach aus Deinen Struckturen 😃 Klassen.
    Die ganzen Klassen sind von einer abstrakten Basisklasse abgeleitet.
    Jede Klasse bekommt eine statische Create-Methode, die ein Objekt der jeweiligen Klasse erzeugt und als Zeiger auf ein Basisklassen-Objekt zurückgibt.
    Diese Create-Methode registrierst Du z.B. in einer Map, als Schlüssel nimmst Du Deinen Struckt:D Namen.

    Einige Vorredner haben das Vorgehen auch schon vorgeschlagen, nur kürzer - Stichwort Fabrik oder Factory und Registrierung 😉

    Ja, genauso geht's.
    Ich möchte nur anmercken, daß er von den Struckturen nicht unbedinckt abrücken muß, denn sie können auch Methoden, Konstrucktoren, Destrucktoren und so haben, genau wie Cklassen.



  • Ansonsten halt auf Klaßen umsteigen 😉



  • Ich beende das hier ja nur ungern, musste vor allem bei den letzten Beiträgen fast laut loslachen, aber ihr seid ganz schön gemein.

    @Subra:
    Es heißt Struktur, nicht Strucktur, mit einfachem k, ohne c.

    Aber andererseits... vielleicht programmiert er ja in CK++, und da heißen die Dinger vielleicht struckt.



  • DocShoe schrieb:

    [...], aber ihr seid ganz schön gemein. [...]

    vielleicht programmiert er ja in CK++, und da heißen die Dinger vielleicht struckt.

    👍


Anmelden zum Antworten