📝 defer实现

实现类似Golang的defer的方式 #

//
// Created by 张文兵 on 2025/5/13.
//

#ifndef DEFER_H
#define DEFER_H
#include <functional>

class Defer {
public:
    explicit Defer(const std::function<void()> &func) : m_func(func) {
    }

    ~Defer() { m_func(); } // 离开作用域时自动调用
private:
    std::function<void()> m_func;
};
#endif //DEFER_H

使用方式 #

m_mutex.lock();
Defer defer([=]() {
    m_mutex.unlock();
});