QScopedValueRollback Class
template <typename T> class QScopedValueRollbackDie Klasse „QScopedValueRollback“ setzt eine Variable bei ihrer Zerstörung auf ihren vorherigen Wert zurück. Mehr...
| Header: | #include <QScopedValueRollback> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
Öffentliche Funktionen
| QScopedValueRollback(T &var) | |
| QScopedValueRollback(T &var, T value) | |
| ~QScopedValueRollback() | |
| void | commit() |
Ausführliche Beschreibung
QScopedValueRollback<T> ist eine Vorlagenklasse, wobei T der Typ der verwalteten Variablen ist. Die Klasse QScopedValueRollback kann verwendet werden, um den Zustand zurückzusetzen, wenn eine Ausnahme ausgelöst wird, ohne dass try-catch-Blöcke geschrieben werden müssen.
Sie kann auch zur Verwaltung von Variablen verwendet werden, die vorübergehend gesetzt werden, wie z. B. Reentrancy-Guards. Durch die Verwendung dieser Klasse wird die Variable zurückgesetzt, unabhängig davon, ob die Funktion normal beendet wird, vorzeitig durch eine return-Anweisung beendet wird oder durch eine Ausnahme beendet wird.
Die Vorlage kann nur mit einem Typ instanziiert werden, der Zuweisungen unterstützt.
Siehe auch „ QScopedPointer “ und „ QScopeGuard “.
Dokumentation zu den Mitgliedsfunktionen
[explicit constexpr] QScopedValueRollback::QScopedValueRollback(T &var)
Speichert den vorherigen Wert von „ var “ intern, um ihn bei der Löschung wiederherzustellen.
[explicit constexpr] QScopedValueRollback::QScopedValueRollback(T &var, T value)
Weist „ value “ der Variablen „var“ zu und speichert den vorherigen Wert von „ var “ intern, um ihn bei der Zerstörung wiederherzustellen.
[constexpr] QScopedValueRollback::~QScopedValueRollback()
Weist der verwalteten Variablen den vorherigen Wert zu. Dabei handelt es sich um den Wert zum Zeitpunkt der Erstellung oder beim letzten Aufruf von ` commit()`
[constexpr] void QScopedValueRollback::commit()
Aktualisiert den bisherigen Wert der verwalteten Variablen auf ihren aktuellen Wert.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.