c++ - 在构造函数中创建,在析构函数中删除的模式名称 (C++)

标签 c++ design-patterns raii

传统上,在 C++ 中,您会在构造函数中创建任何依赖项并在析构函数中删除它们。

class A
{
 public:
    A() { m_b = new B(); }
    ~A() { delete m_b; }
 private:
    B* m_b;
};

这种获取资源的技术/模式,有通用的名字吗?
我很确定我在某个地方读过它,但现在找不到了。

编辑:
正如许多人指出的那样,这个类是不完整的,应该真正实现一个复制构造函数和赋值运算符。
最初,我故意将其省略,因为它与实际问题无关:模式的名称。但是,为了完整性和鼓励良好做法,公认的答案就是事实。

最佳答案

RAII - 资源获取即初始化

关于c++ - 在构造函数中创建,在析构函数中删除的模式名称 (C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1846144/

相关文章:

c++ - 如何动态调整 QLabel/QVBoxLayout/QWidget 中使用的 QImage 的大小

c++ - 如何正确调用命令缓冲区的 vulkan.hpp 构造函数?

c++ - 为什么 std::shared_ptr 控制 block 需要持有指向具有正确类型的托管对象的指针

c++ - 指向对象的指针作为 "modern C++"中的类成员

design-patterns - 对象适配器模式和类适配器模式的区别

c++ - 如何修改/更新由 const 引用传递的对象的内部状态

c++ - GLSL 和 FBOs - glActiveTexture 不起作用?

c++ - 如何获取程序运行的目录?

design-patterns - 序列化模式是什么?

web-services - 使用不同版本的 Web 服务的设计模式?