🔴 把 catch 的顺序排对
(本条路线统一用 g++ -std=c++17 -O0 -Wall 编译)具体那个要接住,而且要拿到那句话。
⚠️ 管不了就原样递上去
(本条路线统一用 g++ -std=c++17 -O0 -Wall 编译)最上层要能接住,而且要拿到原来那句话。
🔴 拥有和只看,怎么区分
类的成员里,拥有那份资源的和只是引用它的,惯例是【0】。
⚠️ 一个类不写析构函数,是偷懒吗
成员全是智能指针和容器的类,不写析构函数【0】。
⚠️ 借一个元素出去,该给什么
类内部用 vector<unique_ptr<T>> 存着,外面想看第 i 个,该交回【0】。
拥有的和看的,各用各的类型
(本条路线统一用 g++ -std=c++17 -O0 -Wall 编译) #include <iostream> #include <memory> #include <vector> struct
🔴 把"拥有"和"借看"两个接口都写对
(本条路线统一用 g++ -std=c++17 -O0 -Wall 编译)
🔴 这个空析构函数,代价比看上去大
(本条路线统一用 g++ -std=c++17 -O0 -Wall 编译)三个数:Good 搬了几次、Bad 拷了几次、一共搬了几次。
🔴 借来的东西,别活过出借方
(本条路线统一用 g++ -std=c++17 -O0 -Wall 编译)把值在大括号**里面**取出来,第一个数该是 42。
⚠️ 父子互指,谁也还不掉
(本条路线统一用 g++ -std=c++17 -O0 -Wall 编译)两个都要还掉。