设计模式之Pimpl
当两个公司进行合作的时候,A公司不想让B公司看到自己的核心代码是如何实现的,就可以用到此方法。
Pimpl可以对类内部实现数据进行隐藏。有如下优点:
-
提高编译速度;
-
实现信息隐藏;
-
减小编译依赖,可以用最小的代价平滑的升级库文件;
-
接口与实现进行解耦;
-
移动语义友好。
代码示例:
/// @file pimpl.h
#include <iostream>
using std::cout;
using std::endl;
class Point
{
public:
Point(int, int);
~Point();
void printPoint() const;
private:
class Pointpimpl;
Pointpimpl