🔴 C++ 那边写了几句还
(本条路线统一用 g++ -std=c++17 -O0 -Wall 编译)🔴 这一节把同一件事在三种语言里各做一遍:**C 手动 free、C++ 用 RAII、Python 交给运行时**。每道题的 code_language 不一样,注意看题面标的是哪一种。
#include <iostream>
#include <memory>
struct Res {
static int made, gone;
Res() { made++; }
~Res() { gone++; }
};
int Res::made = 0;
int Res::gone = 0;
static int frees_written = 0; /* 手写了几句"还" */
int main() {
{
auto a = std::make_unique<Res>();
auto b = std::make_unique<Res>();
auto c = std::make_unique<Res>();
(void)a; (void)b; (void)c;
}
/* 上面一句 delete 都没写 */
std::cout << Res::made << "/" << Res::gone << "/" << frees_written
<< "/" << (Res::made - Res::gone) << "\n";
return 0;
}
全部评论