c++ - 使用模板化类的 pimpl 习语有什么优势吗?

标签 c++ templates pimpl-idiom

据我了解,pimpl 习惯用法的主要好处是将数据成员隐藏在实现文件而不是 header 中。但是,需要在 header 中完整定义模板,以便编译器按需实例化它们。在这种情况下,对模板类使用 pimpl 习惯用法有什么好处吗?

最佳答案

虽然在模板类中使用 pimpl 习惯用法并没有真正隐藏任何内容,但它确实允许您轻松编写非抛出交换(尽管使用 C++11 移动语义这不是一个问题)。

关于c++ - 使用模板化类的 pimpl 习语有什么优势吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7562409/

相关文章:

c++ - 将 float 转换为 LPCWSTR/LPWSTR

c++ - 将模板限制为仅某些类?

c++ - 如何为 std::variant 赋值?

从 vector 中删除时出现 C++ 段错误

C++ 字符串类型独立算法

c++ - pimpl设计模式,成员函数需要放在私有(private)类中

java - Thymeleaf:如何获取 URL 属性值

c++ - 泛化解决方案以实例化一个函数的多个模板并在运行时选择

c++ - pimpl 习语如何减少依赖性?

c++ - Pimpl 成语内存使用