补全:翻成 C++ 的守卫
本节的东西:
TABLE 三语言对照:(声明, 拿, 放, 自动放)
count_pairs(src) C 源码里 pthread_mutex_lock / unlock 各几次
find_leak(src) 按行扫 C:拿了锁之后、放锁之前遇到 return 的行号
guard_span(src) C++:lock_guard 声明的那一行到它所在花括号块结束的那一行补全 to_cpp(py):输入是一段 Python(第一行 with lock:,后面是缩进四格的语句),输出 C++:第一行 {,第二行 std::lock_guard<std::mutex> g(m);,然后每条语句去掉四格缩进、加两格缩进、末尾加分号,最后一行 }。行之间用 | 连。
全部评论