C++编程规范之模板与泛型
来源:互联网 发布:淘宝短信营销软件 编辑:程序博客网 时间:2024/05/22 15:19
模板与泛型
第64条:理智地结合静态多态性和动态多态性
摘要:努力让这二者互补,让1+1>2。
涉及到模板的话题总是很复杂,如果将模板和虚拟结合到一次,本来就是个不简单的话题。
动态多态性的优点是基于超集/子集关系的统一操作,动态绑定和分别编译。静态多态性的优点是基于语法和语义的统一操作,静态绑定和高效率。
在ACE中使用比较多的这种组合,将来可能会写一下设计的分析。
第65条:有意地进行显式自定义
摘要:显式出错的可能性要小于隐式
在模板中经常出现一些函数,函数的实现中经常有一些辅助函数,这些辅助函数往往是引起疑惑的根源,这些辅助函数究竟是模板本身定义的,还是外部可见的,或者是依赖模板参数的?这一问题在一般情况下也存在,那是为什么调用成员函数显示调用this->总要好一些的原因。这个问题在模板中,更加严重一点,所以在面对这个问题的时候显示的表达一下比较好,会避免出现编译器自做主张的情况。
为了避免这一点,可以将模板内部调用的辅助函数都放入其自己的内嵌名字空间,并用显示的限定调用它们。要避免依赖名,类似于template<typename T>class C:T{}; template<typename T>class C:X<T>{};之类的情况最好避免。
第66条:不要特化函数模板
摘要:编写自己的函数模板,不要特化别人的函数模板。
对于函数模板的特化要小心,函数模板不存在偏特化,只能完全特化。函数模板特化不能参与重载,面对这么低的优先级,就不要考虑了。写非模板的重载函数吧。
第67条:不要无意地编写不通用的代码
摘要:依赖抽象而非细节
对迭代器的比较使用!=,而不是<;使用迭代器代替索引,除非没有迭代器;使用empty()代替size()==0;如果不需要修改就使用常量;依赖接口而不是实现。
- C++编程规范之模板与泛型
- C++编程规范 模板与泛型
- C++:模板与泛型编程
- [C++]模板与泛型编程
- 【C++】模板与泛型编程
- C++ 之 模板与泛型编程
- 模板与泛型编程之定义模板
- 模板与泛型编程之模板实参推断
- 《C++primer(第五版)》学习之路-第十六章:模板与泛型编程
- C编程规范与范例
- 《C++Primer》 3.19 模板与泛型编程
- Effective C++(七)模板与泛型编程
- Effective C++(七)模板与泛型编程
- Effective C++(七)模板与泛型编程
- effective C++: 7模板与泛型编程
- 【c++primer】第十六章:模板与泛型编程
- c++primer要点-模板与泛型编程
- [C++] 模板与泛型编程(1)
- ms sqlserver2000 更新ntext內容,更改ntext 內容
- 8月24日培训日记
- 星空极速的目标- '占领用户桌面'
- 标签式用户界面的故事
- 关于attach和detach的疑问
- C++编程规范之模板与泛型
- 如何判断一个数时幂数?
- 由GetDlgItem函数想到的
- 由嫌疑杀死10人邱兴华事情以及拖欠工资想到的...
- ASP中调用存储过程、语法、写法-sql server数据库
- 突然之间打不开chm文件了
- Goters讨论(1)
- input file的CSS设定
- Ant学习笔记