打印
[其它产品/技术]

RAII在动态内存管理中的使用

[复制链接]
473|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主

RAII也常用于管理动态分配的内存,通过在对象构造函数中分配内存,在析构函数中释放内存。

#include <iostream>
#include <memory>

class MemoryRAII {
public:
    explicit MemoryRAII(size_t size) : data(new int[size]) {
        std::cout << "Memory allocated." << std::endl;
    }

    ~MemoryRAII() {
        delete[] data;
        std::cout << "Memory deallocated." << std::endl;
    }

    // 其他内存操作方法

private:
    int* data;
};

int main() {
    try {
        MemoryRAII memory(10);

        // 在这里进行内存的读写操作,不用担心忘记释放内存

    } catch (const std::exception& e) {
        std::cerr << "Exception: " << e.what() << std::endl;
    }

    return 0;
}

使用特权

评论回复
沙发
LOVEEVER| | 2024-3-27 15:59 | 只看该作者
在对象构造函数中分配内存,在析构函数中释放内存

使用特权

评论回复
板凳
jf101| | 2024-3-28 19:06 | 只看该作者
管理动态分配的内存也是需要功底的

使用特权

评论回复
地板
星辰大海不退缩| | 2024-3-29 14:17 | 只看该作者
对象构造函数中分配内存,在析构函数中释放内存

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

189

主题

1862

帖子

1

粉丝