从早上10:00到下午2:00,看了4个小时的<Effective C++>,可见成果几乎没有,但了解到了C++写有哪里风险。
体会到是有几点:
1、C++不像Java所以需要自己管理好对象的实例的生命周期。我觉得所谓的智能指针不是解决方案,智能指针只能保证对象的指针的使用是安全的,但不能保证对象可靠。所以我的C++原则之一:谁创建对象例,谁维护对象实例。比如:单例模式初始化了对象实例,那么由他的包装类来管理他的实例的指针,此指针,只能读、写、不能进行删除操作。那么C++的的单例模式,就有别于Java,它是代理模式+单例模式的结合体。
2、按照书中原则,慎用多重继承,所以我只使用单继承+组合来实现功能。
最后拟定大致的模块如下: