0

范围保护是非常C++方式的惯用语。它很好地与异常交互并符合 RAII。C++没有对范围保护的本机支持。我的意思是干净的语法。目前我只能编写一个辅助类:c-tor 将 lambda 存储为数据成员和 d-tor 调用 lambda(在范围退出或抛出异常时)。

目前是否有任何关于C++中范围保护的便捷语法的建议?

我的意思是int * i = new int; ~[&i] { if (i) { delete i; i = nullptr; } }; ...甚至(默认情况下捕获作为参考~{ /* statments */; }) 。当 lambda-syntax 只是 with 的语法糖structoperator (),anonymous 的“inline”-destructor 可能存在 lambda-similar-syntax struct

4

0 回答 0