2

使用 C++20 P0052scope_guards(以及许多其他类型的范围保护),请考虑以下典型用例:

auto f = std::fopen(/*...*/);
scope_exit guard_f([&](){ std::fclose(f); });

代码依赖于 lambda 表达式本身(闭包对象的构造)不会抛出。C++ 标准如何保证这一点?

我阅读了标准的章节(第 7.5.5 节 Lambda 表达式),发现没有关于noexceptlambda 构造函数的说法。

4

0 回答 0