编码标准:
- 封装和隔离。
- 在声明一个类的时候,应避免暴露出其私有成员。
- 应该使用一个形如“struct Xxxxlmpl *pimpl_”的不透明的指针来存储私有成员(包括状态变量和成员函数)。
使用pimpl(编译器防火墙)可以大大降低代码之间的相互依赖性,对于pimpl_需要注意:
- pimpl_中存储的是私有变量和私有成员函数。
- 一般需要一个反向指针(习惯称为self_)来调用可见类的函数。
- 即使虚拟函数是私有的,也不能把虚拟成员函数隐藏在pimpl类中。
文章来源:
http://my.donews.com/robinchow/2007/01/13/qwtfsgyamrxaxddpwhxeyatxgntnrlthhnna/