标签: c++ templates c++11 pimpl-idiom
答案 0 :(得分:3)
真的,这对我来说似乎非常复杂......
您建议的.语义需要两次定义“接口”:
.
Proxy
直接违反DRY,收益微薄!
我认为在使用您的课程时没有太多意义,只有std::shared_ptr才能共享所有权。
std::shared_ptr
我自己写了一个pimpl实现模板有一个原因,这是为了适应shared_ptr 删除实现+深度复制语义,以便获得不完整类型的值语义。
shared_ptr
在代码中添加帮助层最终会使浏览变得更加困难。