设为首页 加入收藏

TOP

《Effective C++》学习笔记(八)(三)
2015-07-20 17:46:57 来源: 作者: 【 】 浏览:14
Tags:Effective 学习 笔记
; Date theBirthDate_; Address theAddress_; }; std::tr1::shared_ptr Person::create(const string& name, const Date& birthday, const Address& addr){ return std::tr1::shared_ptr (new RealPerson(name,birthday,addr)); } Handle classes和Interface classes解除了接口和实现之间的耦合关系,从而降低文件间的编译依存性。注意一点,两种class的实现方案带来的运行成本也是不容忽视的。如果你应该从你的实际出发,考虑用渐近方式去使用这些技术。

?

?

总结:

1)支持“编译依存性最小化”的一般构想是:相依于声明式,而不要相依于定义式。基于此构想的两个手段是Handle classes和Interface classes。
2)程序库头文件应该以“完全且仅有的声明式”(full and declaration-only forms)的形式存在。这种做法不论是否涉及templates都适用。

?

结语

虽然只有三个条款,但是篇幅比较长,逻辑相对而言也不是特别容易理解,在之后还应该继续多回顾回顾。

首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇有意思的进程创建函数fork()的问题 下一篇Leetcode 细节实现题 Spiral Matr..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·你必须要弄懂的多线 (2025-12-25 04:22:35)
·如何在 Java 中实现 (2025-12-25 04:22:32)
·Java【多线程】单例 (2025-12-25 04:22:29)
·C++中智能指针的性能 (2025-12-25 03:49:29)
·如何用智能指针实现c (2025-12-25 03:49:27)