Frage

Ich bin mit Qt 4.5 und im Arbeits mit einem QList<QStringList>, die eine Liste von String-Liste ist.

Jetzt möchte ich einen String in einer Stringliste ersetzen, sondern mit ihm scheint ungewöhnlich zu geben. Ich habe die folgende Art und Weise, es zu tun gefunden und frage mich, ob es in Ordnung ist:

QList <QStringList> pDataList;

pDataList[listIndex].replace(QStringIndex, newString);

Jetzt bin ich über die Syntax nicht besorgt, aber ich möchte wissen, ob pDataList der Zeiger adjascent im Speicher vorhanden ist, so dass es zu benutzen [] in Ordnung ist. Gibt es eine andere Möglichkeit, es zu tun?

War es hilfreich?

Lösung

Die Frage der pDataList der benachbarten Elemente im Speicher ist nicht auf die Frage zusammen, ob es in Ordnung ist operator[] zu verwenden.

Generell QList<> garantiert nicht, dass seine Elemente im Speicher benachbart sind, aber es tut Überlastung operator[] Sie das Element geben Sie dennoch suchen.

Das einzige, was Sie zu kümmern, wann so etwas wie dies zu tun ist sicher, dass (pDataList.size() < listIndex) zu machen. Andernfalls werden Sie Elemente nicht in der Liste der Indizierung, eine Ausnahme in Debug oder nicht definiertes Verhalten in Release ausgelöst wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top