![]() |
1
5
通过添加另一层(并使RAII更明确一点),您可以获得非常整洁的内容。会话和项的默认复制构造函数和赋值做了正确的事情。在关闭所有项的句柄之后,会话的句柄将被关闭。没有必要把孩子的向量放在周围,共享指针会为你追踪所有这些。。。所以我认为它应该做你需要的一切。
|
![]() |
2
2
我认为这是一个有趣的问题。
首先,对于RAII,通常需要实现复制构造函数和赋值操作符,这里
还有一个问题是
编辑 从我第一次回答起,这些要求就被精确化了,即:
在本例中,有两种设计方案:
我不太喜欢第二种解决方案,因为
另一方面,如您所说,第一个解决方案意味着空对象的存在,这可能是不可接受的。
至于实际设计,我建议:
这传达了您要求的含义:
微妙的问题:这段代码在多线程应用程序中是不安全的,但是我不知道我们是否需要完全序列化对的访问
注意,在这个设计中
|
![]() |
3
1
展开 的注释,使用STLSoft的 scoped_handle
如果“null”句柄值不是0,则执行以下操作:
HTH公司 |
![]() |
overexchange · 客户端锁定是否违反了同步策略的封装? 7 年前 |
|
mangochaser · java——具有多态性和封装的几何形状 7 年前 |
![]() |
LBaelish · 安全/正确使用指针[关闭] 9 年前 |
![]() |
Petr Marek · Javascript类封装行为 9 年前 |