-1

我在 Qt 4.8.1 中看到了这个类 QScopedValueRollback。任何人都可以帮助展示这个新类的用法示例吗?对不起我的英语不好。我不太明白为什么它的文档有用和需要它。所以我想如果有人能给我一个示例代码,我可以更清楚地理解它

4

1 回答 1

1

我从文档中了解到的是..它用于自动将变量回滚到范围之外的值或最后提交的值..

void myfunc(int &val)
{ 
    // new scope
    QScopedValueRollBack newScope(val);
    val = 2;
    .
    .
    if (err)
        throw();
}

int val = 1;
myfunc(val);
// val = 1 again.. unless you call commit() after setting val inside new scope.. in which case val = 2 here.

有用性 - 可用于在引发异常时恢复状态,而无需编写 try-catch 块

于 2012-12-25T03:10:53.167 回答