Pimpl是很多C代码的样板源.它们似乎是一种宏,模板和一些外部工具帮助的组合可以解决的事情,但我不知道最简单的方法是什么. I’ve seen templates,帮助做一些提升,但不是很多 – 你还是最
我想象一下作为制作过程的一部分的工具.你希望你的公开标题是pimpl’d类,所以你提供一些输入文件,比如说pimpl.in,列出你想要包装的类(实现的un-pimpl’d),然后检查该文件,生成pimpl类,并且在’make install’期间仅安装它们的头(而不是原始类的头).如果没有一个完整的C解析器,我甚至没有看到任何方法可以做到这一点,即使编译器供应商也不能正确.也许这些课程可以写在某种程度上,使外部工具的工作变得更容易,但我相信我最终会丢失各种各样的角色(例如模板类和/或模板成员函数).
有任何想法吗?有其他人已经有了解决这个问题的解决方案吗?
不,没有一个简单的答案. :-(我会想,几乎每个OO专家都说“喜欢组合超过继承”,将使语言支持使构图比传承容易得多.