Seite 1 von 1

QList ohne/mit 2 Argument(en)?

Verfasst: 21. Dezember 2011 17:42
von shanon
Hallo,
ich habe ein Problem mit dem vernünftigen Speichern von ausgelesen Daten aus einer Datei.

Die Daten sollen so abgespeichert werden:
eine Liste A, die mit verschiedenen Listen B gefüllt wird.

Liste B besteht aus:
String1, int
String2, int
String3, int, int, int

wobei jeder String auch öfter vorkommen kann und damit kein Key-Value Verhältnis besteht.

momentan versuch ich das mit einer QList zu lösen, aber diese will immer ein Argument haben, was bei int und String natürlich nicht funktioniert.
Gibt es da irgendeine andere Möglichkeit das zu realisieren? Da ich mit QT noch nicht wirklich viel gemacht habe, möchte ich da natürlich die sauberste Lösung wissen ;)
Ich weiß natürlich, dass ich auch eine entsprechende Klasse anlegen könnte. Aber das ist, nunja, eher als Notlösung anzusehen.

Re: QList ohne/mit 2 Argument(en)?

Verfasst: 21. Dezember 2011 18:52
von solarix
In der Informatik gibt es selten "DIE" Lösung.. so auch bei diesem. Viele Varianten wären denkbar.

Aber wenn ich deine Beschreibung 1:1 in Qt umsetze sieht das wie folgt aus:

Code: Alles auswählen

#include <QPair>
#include <QList>
#include <QDebug>

int main()
{
  /*
    Liste  besteht aus:
     String1, int
     String2, int
     String3, int, int, int
  */
  QList<QPair<QString, QList<int> > > fileData;
  fileData << qMakePair<QString, QList<int> >("Hello", QList<int>() << 1);
  fileData << qMakePair<QString, QList<int> >("Hello", QList<int>() << 2);
  fileData << qMakePair<QString, QList<int> >("World", QList<int>() << 1 << 2 << 3);

  qDebug() << fileData;
  return 0;
}
hth..

Re: QList ohne/mit 2 Argument(en)?

Verfasst: 21. Dezember 2011 19:01
von shanon
vielen Dank. Das ist das, was ich gesucht habe :)