跳到正文

第 215 课

Resource Acquisition Is Initialization

🟣 深入 约 9 分钟

一句话理解

把资源生命周期绑定到对象生命周期。

为什么要学

后面写更大的程序时,Resource Acquisition Is Initialization 会反复出现。先在小例子里跑通。

讲解

把资源生命周期绑定到对象生命周期。

管理:

例如:

std::lock_guard
std::unique_ptr
std::fstream

都体现了 RAII。


例子

#include <bits/stdc++.h>
using namespace std;

int main() {
    auto p = make_unique<int>(9);
    cout << *p << "\n";
    return 0;
}

输出:

9

动手

下面的编辑器就在浏览器里编译运行,不用装本地编译器。改一改数字、再点运行。

练习 做完再看下一课

「Resource Acquisition Is Initialization」是 C++ 里值得单独掌握的知识点。

在线练习 C++ 在浏览器里编译,代码不会上传

Ctrl / ⌘ + Enter 运行 · Tab 缩进

输出
 

进度保存在本机浏览器里。

左右方向键也可翻课