mehrere Variablen durchlaufen

Alles rund um die Programmierung mit Qt
Antworten
freakonaleash99
Beiträge: 43
Registriert: 23. Juli 2017 12:35

mehrere Variablen durchlaufen

Beitrag von freakonaleash99 »

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
hilefoks
Beiträge: 144
Registriert: 13. März 2008 16:09

Re: mehrere Variablen durchlaufen

Beitrag von hilefoks »

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;
}
freakonaleash99
Beiträge: 43
Registriert: 23. Juli 2017 12:35

Re: mehrere Variablen durchlaufen

Beitrag von freakonaleash99 »

Perfekt danke. Daran habe ich gar nicht gedacht!
bobcat
Beiträge: 125
Registriert: 21. April 2010 14:51

Re: mehrere Variablen durchlaufen

Beitrag von bobcat »

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.
Antworten