🔴 一句"还"都没写,账却是平的

这一趟过完,那东西还欠着没有 得记着还 不用记着 (本条路线统一用 g++ -std=c++17 -O0 -Wall 编译)构造时记一笔,析构时记一笔: #include <iostream> /* 一个"借了就要还

开始练习 →

把手动版改成 RAII 版

这一趟过完,那东西还欠着没有 得记着还 不用记着 (本条路线统一用 g++ -std=c++17 -O0 -Wall 编译)两条路都不许欠着。

开始练习 →

⚠️ 用大括号决定"什么时候还"

这一趟过完,那东西还欠着没有 得记着还 不用记着 (本条路线统一用 g++ -std=c++17 -O0 -Wall 编译)第一批建 1 个,第二批建 2 个。

开始练习 →

`unique_ptr` 和裸指针差在哪

把 Res *p = new Res() 换成 unique_ptr,最直接的差别是【0】。

开始练习 →

🔴 为什么推荐 make_unique

推荐写 std::make_unique<Res>() 而不是 unique_ptr<Res>(new Res()),因为【0】。

开始练习 →

⚠️ 它能不能复制一份

把一个 unique_ptr 赋值给另一个,【0】。

开始练习 →

一个函数只想看看,参数该收什么

一个函数只读一下资源、不接管所有权,参数最该写成【0】。

开始练习 →

一句 new、一句 delete 都没有

(本条路线统一用 g++ -std=c++17 -O0 -Wall 编译) #include <iostream> #include <memory> struct Res { static int mad

开始练习 →

用 `make_unique` 要一个

(本条路线统一用 g++ -std=c++17 -O0 -Wall 编译)

开始练习 →

🔴 交出去,不是复制一份

(本条路线统一用 g++ -std=c++17 -O0 -Wall 编译)交完之后 a 该是空的。

开始练习 →