QScopedValueRollback Class
template <typename T> class QScopedValueRollbackLa classe QScopedValueRollback réinitialise une variable à sa valeur précédente lors de sa destruction. En savoir plus...
| En-tête : | #include <QScopedValueRollback> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake : | QT += core |
Fonctions publiques
| QScopedValueRollback(T &var) | |
| QScopedValueRollback(T &var, T value) | |
| ~QScopedValueRollback() | |
| void | commit() |
Description détaillée
QScopedValueRollback<T> est une classe de modèle où T est le type de la variable gérée. La classe QScopedValueRollback permet de rétablir l'état initial lorsqu'une exception est levée, sans avoir à écrire de blocs try-catch.
Elle peut également servir à gérer des variables définies temporairement, telles que les gardes de réentrance. Grâce à cette classe, la variable sera réinitialisée, que la fonction se termine normalement, qu'elle soit interrompue prématurément par une instruction return ou qu'elle se termine par une exception.
Le modèle ne peut être instancié qu’avec un type prenant en charge l’affectation.
Voir également QScopedPointer et QScopeGuard.
Documentation sur les fonctions membres
[explicit constexpr] QScopedValueRollback::QScopedValueRollback(T &var)
Enregistre en interne la valeur précédente de ` var `, afin de rétablir cette valeur lors de la destruction de l'objet.
[explicit constexpr] QScopedValueRollback::QScopedValueRollback(T &var, T value)
Attribue la valeur « value » à la variable « var » et enregistre en interne la valeur précédente de « var », afin de pouvoir la rétablir lors de la destruction de l'objet.
[constexpr] QScopedValueRollback::~QScopedValueRollback()
Attribue la valeur précédente à la variable gérée. Il s'agit de la valeur au moment de la création de l'objet ou lors du dernier appel à la fonction ` commit()`.
[constexpr] void QScopedValueRollback::commit()
Met à jour la valeur précédente de la variable gérée pour lui attribuer sa valeur actuelle.
© 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.