您的位置:首页 > 编程语言 > C语言/C++

记下最近看Exceptional C++的一些感受和疑问

2008-12-02 14:13 344 查看
1.苦于平时使用标准模板库的时间不多,对标准模板库的经验很少,所以还没有什么太多的感受

不过不论是哪本关于C++标准库的书籍,都会强调一定不能使用无效的迭代器以及某些操作过后会使得迭代器失效!

2.实现大小写不敏感字符串的方法中继承了char_traits<> 对traits的概念还是没有完全掌握,或者说应该抽时间实作一下才能更好理解

3.因为C++程序员总是把效率挂在嘴边,总是为了效率而绞尽脑汁,哪怕是为了避免生成一个临时对象!这样是不是又成为了C++程序员的一个心智包袱?目前我的思想上只能承诺尽力而为之

4.对于异常安全,掌握了两个概念: 基本保证 和 强保证(Commit or Rollback),但仅仅是两个概念,至于如何能够做到这样的异常安全保证,还是知之甚少。

5.异常能引起很多麻烦,比如书中的4行代码23条执行路径,如果说异常带来了那么多麻烦,那是不是在项目中应该不用异常或者少用异常?或是一定要在文档中记录什么方法或者什么地方会发出异常?总觉得异常安全的保证仿佛很难

6.标准库的设计到底OO还是不OO? 有人说没有继承就不OO?或者说OO应该是物件持有其数据和操作,而非如标准库中那样的操作和物件分开~那标准库的做法,算法和容器分开到底OO还是不OO,如果不OO那是不是因为兼顾到更好的灵活性(如泛型)而牺牲的?

7.重载operator++(int)时不能让用户写出 a++++; 这样的代码

8.重载是静态行为,默认参数匹配是静态行为

9.在使用所有继承的时候都要谨慎 …… 之前阅读Effective C++的时候得到的结果是使用private 继承和多继承的时候要谨慎…… 现在才得知所有的继承都是一种强耦合…… 为了灵活性应该降低耦合,再降低耦合,再降低……

10. 该书提倡 Non Virtual Interface 还提倡 pimpl ... 减少编译的依赖性以及更好的封装性.. 简单来说,可以更OO,更灵活,写、维护代码更难……? 仍然在此处打个问号! 计算机科学的谏言:大部分问题都可以藉由多加一层间接性来解决。这样的间接性到底值不值得?C++提倡效率,但是这样简洁性在某些方面是影响效率的,比如函数的转接呼叫,程序代码的编写形式,思维模式上的束缚感(我自己的感觉)。这样的间接性又提供了更高的编译速度,更高的灵活性和可修改性…… 如何抉择?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: