在C++项目中常用的设计机制——Pimple是什么?刚开始看到这个机制的时候也是一脸的茫然。博主是在看源码的过程中第一次接触到Pimpl的使用。于是就在网上进行一番搜索。这里主要是记录自己对Pimpl机制的学习。
1.Pimpl机制的作用
PImpl(private implementation) 其主要作用是解开类的使用接口和实现的耦合。
关于耦合性:耦合性(Coupling),也叫耦合度,是对模块间关联程度的度量。耦合的强弱取决于模块间接口的复杂性、调用模块的方式以及通过界面传送数据的多少。模块间的
耦合度是指模块之间的依赖关系,包括控制关系、调用关系、数据传递关系。模块间联系越多,其耦合性越强,同时表明其独立性越差。软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准。划分模块的一个准则就是高内聚低耦合。
——引用百度百科的解释
2.Pimpl机制的实现思想
PImpl(private implementation)的思想是将私有数据和函数放入一个单独的类中,并保存在一个实现文件中,然后在头文件中对这个类进行前向声明并保存一个指向该实现类的指针。类的构造函数分配这个pimpl类,而析构函数则释放它。这样可以