Rausschreiben mehrerer Container mit nur einer Schleife.
Verfasst: 27. September 2013 14:24
Hi,
ich möchte gerne die Inhalte von 2D Feldern zusammen in eine Textdatei schreiben. Dies sollte gerne modularisiert passieren und die Anzahl der Felder sowie deren Name sollte möglichst variabel sein.
ich habe dann z.B. eine Methode mit Schleife
Nun ist meine Anzahl an Feldern jedoch auf 1 begrenzt. Ich kann natürlich anstelle eines Feldes auch zwei drei oder vier Felder übergeben und dann so viele Schleifen in die Methode einbauen, wie ich Felder habe. Aber so richtig zufrieden bin ich damit nicht. Erstmal müsste es doch auch mit einer Schleife klappen und die Anzahl der Felder wäre auch nciht variabel. Ich könnte doch als Argument einen QVector<QString> übergeben, welcher die Namen der Variablen oder die Referenz zu dieser enthält und die er dann einmal in der Schleife durcharbeitet. Geht das überhaupt, ist das sinnvoll oder gibt es bessere Lösungen? Ich weiß dabei nämlich nicht, wie ich von der Variablen, dessen Adresse im übergebenen Vector gespeichert ist, eine Methode wie .value() aufrufe. Zusätzlich stelle ich mir die Frage, ob man Variablennamen "dynamisch" deklarieren kann. z.B eine Deklaration, bei der der letzte Buchstabe des Namens ein Platzhalter ist und dann z.B. in einer Schleife so viele Variablen deklariert werden, wie man möchte. Leider weiß ich nicht, wie man einen beliebigen std::String oder QString in den variablennamen einbaut.
Vielen Dank,
MAlte
ich möchte gerne die Inhalte von 2D Feldern zusammen in eine Textdatei schreiben. Dies sollte gerne modularisiert passieren und die Anzahl der Felder sowie deren Name sollte möglichst variabel sein.
ich habe dann z.B. eine Methode mit Schleife
Code: Alles auswählen
void writeData(QVector<QVector<double> > & feld)
for(int i=0; i<feld.size(); i++)
{
for(int j=0; i<feld.value(0).size(); j++)
{
stream<<feld[i][j]<<" ";
}
stream<<endl;
Vielen Dank,
MAlte