范围程序的常见实现

时间:2016-01-13 16:40:04

标签: c++

我对模式的通用实践/实现感兴趣,我称之为"范围过程"。我甚至不知道如何正确命名:)

我所谈论的内容接近boost::scoped_exitboost::scoped_connection:一个类,

  • 拥有用户提供的仿函数,
  • 分享对象复制的仿函数,
  • 有一个计数器来计算共享给定仿函数的所有对象,
  • 在计数器变为0时调用fuctor。

我能想到的候选人是boost::shared_ptr,但在我看来存放一些假指针似乎有点尴尬。

你能为此提出任何建议/最佳做法吗?

我想应用它的情况如下。有一些注册表类存储一些其他类的关联对象的记录集合。当一个对象被注册时#34;在集合中,它接收注册ID。当对象想要取消注册时,只需"释放ID" (通过超出范围或调用类似于boost::scoped_connection::disconnect()的方法)。在发布时,将调用用户提供的过程以从集合中删除相应的记录。

提前谢谢!

0 个答案:

没有答案