Effective C++之31

条款31:将文件间的编译依存关系降至最低
       经常出现这样的问题,在头文件里面修改了一点点东西,然后重新的编译,然后就可以慢慢喝茶了。这样的事情当然不希望出现了。如果看看ACE就知道高手是怎么做的了。ACE上很多的类都提供了Imp类型,这用托管的方式就是想把实现屏蔽起来。这样可能存在一些原则需要注意:
如果可以使用指针或者引用,就不需要用对象,因为指针和引用的大小是确定的,但对象就不同了,那么就需要知道对象的实现细节,不利于实现的隐藏。
如果可以尽量使用声明式,而不要使用定义式。将申明式和定义式分在不同的文件中。
在具体实现的时候有两种方式,Handle方式就是imp方式的托管;Interface方式就是定义包含接口定义,而没有成员的抽象类,使用纯虚函数。这些可能带来额外成本,但对于实现来说是有很大好处的。
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值