このページでは

QScopedValueRollback Class

template <typename T> class QScopedValueRollback

QScopedValueRollback クラスは、破棄時に変数を以前の値にリセットします。詳細...

ヘッダー: #include <QScopedValueRollback>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core

パブリック関数

詳細な説明

QScopedValueRollback<T> は、T が管理対象の変数の型となるテンプレートクラスです。QScopedValueRollback クラスを使用すると、try-catch ブロックを記述することなく、例外がスローされた際に状態を元に戻すことができます。

また、再入防止ガードなど、一時的に設定される変数の管理にも使用できます。このクラスを使用することで、関数が正常に終了した場合でも、return文によって早期に終了した場合でも、あるいは例外によって終了した場合でも、変数はリセットされます。

このテンプレートは、代入をサポートする型でのみインスタンス化できます。

QScopedPointer およびQScopeGuardも参照してください 。

メンバ関数のドキュメント

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

var の以前の値を内部的に保存し、破棄時に元の状態に戻せるようにします。

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

var に `value ` を代入し、破棄時に元に戻せるよう、var の以前の値を内部的に保存します。

[constexpr] QScopedValueRollback::~QScopedValueRollback()

管理変数に前回の値を代入します。これは、生成時、またはcommit()が最後に呼び出された時点の値です。

[constexpr] void QScopedValueRollback::commit()

管理変数の以前の値を、現在の値に更新します。

© 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.