引用:
作者: liuxinyu 个人爱好,我比较喜欢这个方法,activity是一个policy。
另外也有一些其他策略,但不执着于RAII。
1. 首先,把Active的构造函数变成protected。这样任何人都不能自己构造任何Active对象在栈上。
2. 设计一ActiveManager,管理所有Active对象,其被声明为Active的friend
ActiveManager可以放到栈上,析构时遍历其管理的对象,如果IsRunning为true就join,否者直接干掉。 |
嗯,这个方案是可行的,但是这样就意味着只能使用Manager来管理,而不能简单直接地使用桟了。
我现在这样也是可以用Manager的,只不过不是强制的。
桟是个简单直接的管理工具,我不希望丢弃它而强迫用户使用更复杂的Manager。
^_^!