Hallo zusammen,
Ich habe etwa 25 Variablen vom Typ QString, alle Variablen mit einem anderen Namen.
Ich möchte nun bei allen dieser Variablen jeweils mehrere Funktionen anwenden, welche bestimmte Prüfungen und Änderungen des Inhalts der Variable durchführen.
Gibt es ne Möglichkeit, dass man die 25 Variable als Gruppe definieren kann und die Gruppe dann durchlaufen kann? So wie zum Beispiel bei QStringList mit ner for/while-schleife bis zum ende der Liste.
Mir ist bekannt, dass es Arrays gibt, allerdings kann ich dadurch die Variablen nicht individuell nennen, was im restlichen code wiederrum zu einer enormen Unübersichtlichkeit führt.
Gibt es da andere Möglichkeiten?
Grüße
mehrere Variablen durchlaufen
-
- Beiträge: 43
- Registriert: 23. Juli 2017 12:35
Re: mehrere Variablen durchlaufen
Du könntest dir einen Vector mit Pointer auf die Variablen erstellen und dann diesen Vector durchlaufen.
Code: Alles auswählen
QString a, b, c, d, e, f;
QVector<QString*> vector{ &a, &b, &c, &d, &e, &f };
// initialize variables
for(int i = 0; i < vector.size(); ++i) {
*vector[i] = QString::number(i + 42);
}
// print all variables
for(auto s : qAsConst(vector)) {
qDebug() << *s;
}
-
- Beiträge: 43
- Registriert: 23. Juli 2017 12:35
Re: mehrere Variablen durchlaufen
Perfekt danke. Daran habe ich gar nicht gedacht!
Re: mehrere Variablen durchlaufen
Du könntest die Variablen auch in einer QMap unterbringen, z.B. QMap<QString, QString*>, wobei der Key der Name der Variablen ist und der Value der Zeiger auf die Variable. Dann die QMap z.B. mit einer foreach-Schleife abarbeiten.