RAII 函数调用

kon*_*adk 2 c++ lambda

标准库中是否有一个类将在其析构函数中调用提供的函数?像这样的东西

class Foo
{
public:
 template<typename T>
 Foo(T callback)
 {
   _callback = callback;
 }
 ~Foo()
 {
   _callback();
 }
private:
 std::function<void()> _callback;
};
auto rai = Foo([](){ cout << "dtor";});
Run Code Online (Sandbox Code Playgroud)

app*_*ple 8

有一个实验性的scope_exit


示例: https: //godbolt.org/z/4r54GYo33