【发布时间】:2015-02-13 10:45:37
【问题描述】:
我目前的项目涉及编写 C++ API,我决定使用 PIMPL 成语。
我是否应该在我的项目中到处使用 PIMPL 成语,例如我需要创建一个继承自 std::exception 的自定义类,我应该在设计这个类时考虑 PIMPL 成语还是我可以将其编写为公共实现?
仅仅因为我使用 PIMPL 习语就认为我创建的每个类都应该围绕它设计,这感觉是错误的。是否存在应该不使用 PIMPL 的例外情况?
【问题讨论】:
-
我希望它不应该在任何地方使用,因为那是我不使用它的地方。
-
我认为 PIMPL 的主要动机是通过在每次类的接口更改时不强制重新编译实现来减少编译时间 - 如果这不是问题,则无需在任何地方使用它跨度>
标签: c++ idioms pimpl-idiom