泛型编程(Generic Programming)最初提出时的动机很简单直接:发明一种语言机制,能够帮助实现一个通用的标准容器库。所谓通用的标准容器库,就是要能够做到,比如用一个List类存放所有可能类型的对象这样的事;泛型编程让你编写完全一般化并可重复使用的算法,其效率与针对某特定数据类型而设计的...
分类:
编程语言 时间:
2014-07-23 16:20:21
阅读次数:
423
模板与泛型编程--模板定义引言: 所谓泛型程序就是以独立于不论什么特定类型的方式编写代码。使用泛型程序时,我们须要提供详细程序实例所操作的类型或值。 模板是泛型编程的基础。使用模板时能够无须了解模板的定义。 泛型编程与面向对象编程一样,都依赖于某种形式的多态性。面向对象编程中的多态性在执行时应用于存...
分类:
编程语言 时间:
2014-07-19 21:04:49
阅读次数:
283
模板的四大场景
1.数据类型与算法相分离的泛型编程
2.类型适配Traits
3.函数转发
4.元编程
回想起当时在学习C++模板时的无助和恐惧,现在还心有余悸,其实我现在都还是一样地的有畏惧,当看到模板套模板,不停地typedef,这样的变态代码的时候,就觉得很扯蛋,编程不是让人快乐的吗?这样痛苦是为了什么,写这样难看的东西是为了什么。有更好的动态语言为什么不用?我也想不明白,我也不想争论哪个语言更好。但我分享出来我的心得,只希望别人少走弯路....
分类:
编程语言 时间:
2014-07-19 18:17:29
阅读次数:
293
这是一篇Dr. Dobb's Journal对STL之父stepanov的采访。文中数次提到STL的基本思想、语言的特性、编程的一些根本问题等,非常精彩。这篇文章让我想去拜读下stepanov的大作《Elements of Programming》了。原文链接:http://www.stepanov...
分类:
其他好文 时间:
2014-07-19 15:27:45
阅读次数:
352
模板与泛型编程--实例化引言: 模板是一个蓝图,它本身不是类或函数。编译器使用模板产生指定的类或函数的特定版本号。产生模板的特定类型实例的过程称为实例化。 模板在使用时将进行实例化,类模板在引用实际模板类型时实例化,函数模板在调用它或用它对函数指针进行初始化或赋值时实例化。1、类的实例化 当编写Q....
分类:
编程语言 时间:
2014-07-16 23:25:29
阅读次数:
252
初看被标题吸引,也许这也是我学习测试想要得到的,分享给大家。大家同乐。 李和恒,微软亚洲工程院软件测试开发工程师,从事测试工作已三年,先后参与过视频编码、在线会议和企业级即时通信等产品的测试工作,并主持web应用测试架构的开发。技术兴趣为泛型编程,架构设计,测试自动化。 谈起测试项目经历 感觉走在....
分类:
其他好文 时间:
2014-07-11 13:02:27
阅读次数:
220
模板与泛型编程--模板特化[续]三、特化成员而不特化类 除了特化整个模板之外,还能够仅仅特化push和pop成员。我们将特化push成员以复制字符数组,而且特化pop成员以释放该副本使用的内存:templatevoid Queue::push(const char *const &val){ ...
分类:
编程语言 时间:
2014-07-09 18:14:29
阅读次数:
212
条款1:视C++为一个语言联邦
1.1 将C++视为一个由相关语言组成的联邦而非单一语言.
1.2 视C++由四块次语言组成:
C:区块,语句,预处理器,内置数据类型,数组,指针 等等来自于C语言的特性.
Object-Oriented C++:封装,继承,多态,virtual函数 等等面向对象特性.
Template C++:泛型编程.
STL:标准库.
条款2: ...
分类:
编程语言 时间:
2014-07-06 09:20:51
阅读次数:
213
模板与泛型编程--模板特化引言: 我们并不总是能够写出对全部可能被实例化的类型都最合适的模板。某些情况下,通用模板定义对于某个类型可能是全然错误的,通用模板定义或许不能编译或者做错误的事情;另外一些情况下,能够利用关于类型的一些特殊知识,编写比从模板实例化来的函数更有效率的函数。 compare函数...
分类:
编程语言 时间:
2014-06-29 19:27:29
阅读次数:
296