Varibalendaklaration



  • Hallo,
    ich habe folgendes Problem:
    Wie kann ich eine Variable des Typs strcut deklarieren, wenn ich ihr den Namen eines Strings zuweisen will?

    Bsp:
    struct Auto
    ...
    string nummer1 = "BMW";

    Auto nummer1; // Es soll die variable BMW deklariert werden.

    Wäre schön,wenn mir jemand helfen könnte.

    Eltho23



  • Dies ist in C++ nicht möglich. Du könntest höchstens eine Map verwenden.



  • Hallo,

    Wozu soll das gut sein? Nach dem compilieren existieren sowieso keine Namen mehr.
    Erklär uns bitte was du damit erreichen willst.
    Prinzipiell kann man sowas mit einer map lösen.



  • Ich will aus verschiedenen Dateien Daten einlesen, und diese dann in den Elementen des struct speichern. es ergeben sich je nach Menge der Daten verschieden viele Datensätze. Deshalb wollte ich während der Laufzeit die Menge der Daten und damit die Anzahl der Datensätze bestimmen, und diese deklarieren.

    Danke schon mal!



  • Wenn du eine variable Menge an Datensätzen haben willst, bieten sich Container an, z.B. vector<> (ein dynamisch erweiterbares Array) oder map<> (liefert Zuordnung zwischen Name (o.ä.) und Objekt).



  • Eltho23 schrieb:

    ...
    Wie kann ich eine Variable des Typs strcut deklarieren, wenn ich ihr den Namen eines Strings zuweisen will? ...

    Klar:

    struct Auto {
       Auto(string const& s) : nummer(s) {}
       string nummer;
    };
    
    int main() {
       Auto nummer1 = "BMW";
    // ...
    

    Gruß,

    Simon2.


Anmelden zum Antworten