博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
pimpl idiom
阅读量:6694 次
发布时间:2019-06-25

本文共 807 字,大约阅读时间需要 2 分钟。

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
// my_class.hclass my_class {   //  ... all public and protected stuff goes here ...private:   class impl; unique_ptr
pimpl; // opaque type here};
Pimpl implementation
// my_class.cppclass 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{......} 中
简单描写叙述就是将一个类切割为两个类,一个提供接口。一个负责实现。

既能最小化编译依赖,又能接口与实现分离。

转载于:https://www.cnblogs.com/yutingliuyl/p/7351361.html

你可能感兴趣的文章
Linux之shell脚本for、while、case语句的高级用法
查看>>
mydumper linux mysql 备份利器
查看>>
xp 下载安装telnet服务
查看>>
如何学习C语言【转】
查看>>
微软微服务架构 eShopOnContainers
查看>>
python-灰色预测平均房价趋势kera深度学习库的介绍
查看>>
linux——查看系统日志错误并解决
查看>>
cuda+ffmpeg+opengl解码rtsp h264码流多路
查看>>
Android权限大全代码
查看>>
svn:previous operation has not finished
查看>>
PHP Socket 编程进阶指南
查看>>
PHP-CPP开发扩展(一)
查看>>
Git常用命令
查看>>
【html】使用img标签和背景图片之间的区别
查看>>
JDK源码阅读(一) ArrayList
查看>>
Quartz1.8.5例子(六)
查看>>
leetcode524
查看>>
leetcode806
查看>>
(29)odoo的可用小图标
查看>>
MVC ViewBag传值
查看>>