![]() |
1
8
这就是它在C++中的实现方式。
请注意,您不需要为每个
它也不必是单独的作用域块;如果您在函数中锁定了某个东西,并且在函数返回之前不需要将其解锁,那么您可以简单地使用函数作用域来约束锁。同样,如果您在循环块中的每次迭代期间锁定了某个对象,那么可以使用循环的作用域块来约束锁。 当你完成互斥锁时,你手动解锁的方法很好,但是它不是惯用的C++,也不是很清楚。这使得很难确定互斥锁是在哪里解锁的(可能不太难,但比需要的难)。 |
![]() |
2
2
你的第二个版本很好。如果有太多只用于作用域锁定的大括号,请考虑拆分方法。读起来 RAII 这是该技术背后的一般模式,可以应用于各种资源管理。 |
![]() |
AstralHex · 矩阵乘法代码工作不正常 4 月前 |
![]() |
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 4 月前 |
![]() |
Die4Toast · 递归调用成员箭头运算符-> 4 月前 |
![]() |
Anka Hanım · 关于结构和动态数组地址的问题 4 月前 |