Sur cette page

QScopedValueRollback Class

template <typename T> class QScopedValueRollback

La classe QScopedValueRollback réinitialise une variable à sa valeur précédente lors de sa destruction. Plus d'informations...

En-tête : #include <QScopedValueRollback>
CMake : find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake : QT += core

Fonctions publiques

Description détaillée

La classe QScopedValueRollback peut être utilisée pour revenir à l'état initial lorsqu'une exception est levée sans avoir à écrire des blocs try-catch.

Elle peut également être utilisée pour gérer les variables qui sont temporairement définies, comme les gardes de réentrance. En utilisant cette classe, la variable sera réinitialisée si la fonction est quittée normalement, si elle est quittée prématurément par une instruction de retour ou si elle est quittée par une exception.

Le modèle ne peut être instancié qu'avec un type qui prend en charge l'affectation.

Voir également QScopedPointer et QScopeGuard.

Documentation sur les fonctions membres

[explicit constexpr] QScopedValueRollback::QScopedValueRollback(T &var)

Stocke la valeur précédente de var en interne, pour la rétablir en cas de destruction.

[explicit constexpr] QScopedValueRollback::QScopedValueRollback(T &var, T value)

Affecte value à var et stocke la valeur précédente de var en interne, pour la rétablir en cas de destruction.

[constexpr] QScopedValueRollback::~QScopedValueRollback()

Affecte la valeur précédente à la variable gérée. Il s'agit de la valeur au moment de la construction ou lors du dernier appel à commit().

[constexpr] void QScopedValueRollback::commit()

Met à jour la valeur précédente de la variable gérée en lui donnant 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.