请求Pimpl框架评论/建议

时间:2011-04-14 16:29:28

标签: c++ templates c++11 pimpl-idiom

1 个答案:

答案 0 :(得分:3)

真的,这对我来说似乎非常复杂......

您建议的.语义需要两次定义“接口”:

  • 适用于Proxy
  • 一次为基类

直接违反DRY,收益微薄!

我认为在使用您的课程时没有太多意义,只有std::shared_ptr才能共享所有权。

我自己写了一个pimpl实现模板有一个原因,这是为了适应shared_ptr 删除实现+深度复制语义,以便获得不完整类型的值语义。

在代码中添加帮助层最终会使浏览变得更加困难。