QScopedValueRollback Class
template <typename T> class QScopedValueRollbackDie Klasse QScopedValueRollback setzt eine Variable bei Zerstörung auf ihren vorherigen Wert zurück. Mehr...
Kopfzeile: | #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() |
Detaillierte Beschreibung
Die Klasse QScopedValueRollback kann verwendet werden, um den Zustand nach dem Auslösen einer Exception wiederherzustellen, ohne Try-Catch-Blöcke schreiben zu müssen.
Sie kann auch verwendet werden, um Variablen zu verwalten, die vorübergehend gesetzt sind, wie z.B. Reentrancy Guards. Durch die Verwendung dieser Klasse wird die Variable zurückgesetzt, unabhängig davon, ob die Funktion normal, vorzeitig durch eine Return-Anweisung 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 der Mitgliedsfunktionen
[explicit constexpr]
QScopedValueRollback::QScopedValueRollback(T &var)
Speichert den vorherigen Wert von var intern, um ihn bei Zerstörung wiederherzustellen.
[explicit constexpr]
QScopedValueRollback::QScopedValueRollback(T &var, T value)
Weist value var zu und speichert den vorherigen Wert von var intern, um ihn bei Zerstörung wiederherzustellen.
[constexpr]
QScopedValueRollback::~QScopedValueRollback()
Weist der verwalteten Variablen den vorherigen Wert zu. Dies ist der Wert zum Zeitpunkt der Erstellung bzw. des letzten Aufrufs von commit()
[constexpr]
void QScopedValueRollback::commit()
Aktualisiert den vorherigen Wert der verwalteten Variablen auf ihren aktuellen Wert.
© 2025 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.