首页 > 代码库 > pimpl idiom
pimpl idiom
pimpl idiom
flyfish 2014-9-30
pimpl是Pointer to implementation的缩写
为什么要使用pimpl
1最小化编译依赖
2接口与实现分离
3可移植
pimpl idiom也被称作Cheshire Cat , Compiler Firewall idiom.,d-pointer
这个技术在设计模式中作为桥接模式(Bridge pattern.)来描述
看MSDN的示例
Pimpl header
Pimpl implementation
实现部分被隐藏在class my_class::impl{......} 中
简单描述就是将一个类分割为两个类,一个提供接口,一个负责实现。
flyfish 2014-9-30
pimpl是Pointer to implementation的缩写
为什么要使用pimpl
1最小化编译依赖
2接口与实现分离
3可移植
pimpl idiom也被称作Cheshire Cat , Compiler Firewall idiom.,d-pointer
这个技术在设计模式中作为桥接模式(Bridge pattern.)来描述
看MSDN的示例
Pimpl header
// my_class.h class my_class { // ... all public and protected stuff goes here ... private: class impl; unique_ptr<impl> pimpl; // opaque type here };
Pimpl implementation
// my_class.cpp class my_class::impl { // defined privately here // ... all private data and functions: all of these // can now change without recompiling callers ... }; my_class::my_class(): pimpl( new impl ) { // ... set impl values ... }
实现部分被隐藏在class my_class::impl{......} 中
简单描述就是将一个类分割为两个类,一个提供接口,一个负责实现。
既能最小化编译依赖,又能接口与实现分离。
pimpl idiom
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。