Variablen (vector) zur Laufzeit erstellen -> Alternative Lösungsmöglichkeit?!



  • Hallo,

    ich habe folgendes Problem. Aus einer Konfigurationsdatei sollen z.B. folgende Daten ausgelesen werden.

    x1 = y1;
    x2 = y2;
    x3 = y3;
    usw.
    

    Die klappt auch problemlos, die Werte x1, y1 usw. werden in einer "map" abgelegt. Nun soll für jedes xn ein vector erstellt werden in etwa so:

    vector<double> x1 = readCSV("ready.csv", y1);
        vector<double> x2 = readCSV("ready.csv", y2);
        vector<double> x3 = readCSV("ready.csv", y3);
    

    Wie kann ich das am besten realisieren. Soweit ich weiß ist es nicht möglich zur Laufzeit Variablen zu erstellen. Wie könnte man hier alternativ vorgehen?


  • Mod

    vector<vector<double>> ?

    Soweit ich weiß ist es nicht möglich zur Laufzeit Variablen zu erstellen.

    Doch. Das ist sogar für so ziemlich jedes nicht-trivale Programm nötig. vector ist bloß eine von vielen Möglichkeiten.



  • Wie würde ich das denn genau angehen, dass ist mir noch nicht so wirklich klar. Nehmen wir an ich habe 100 Wert-Variablenpaare, sprich x1 bis x100 und y1 bis y100.

    Nun soll für jedes x genau diese Zeile ins Programm geschrieben werden

    vector<double> xn = readCSV("ready.csv", yn);



  • Das hat Sepp Dir doch schon beantwortet: vector<vector<double>>



  • Nehmen wir an ich habe 100 Wert-Variablenpaare, sprich x1 bis x100 und y1 bis y100.

    std::vector<std::pair<double, double>>
    

    oder

    std::map<double, double>
    

    Je nach dem ob er den X-Wert auch veränderbar haben möchte oder nicht.



  • vector<vector<double>> ist keine gute Idee. Die eine Dimension steht ja schon fest (2), dynamische Speicherverwaltung ist dafür massiver Overkill.


Anmelden zum Antworten