摘要: 原文:http://blog.csdn.net/luoweifu/article/details/41465289 《回调的原理、实现与应用》一文中已经初步讲了回调的原理和应用,并就一个实际需求用函数的方式实现了回调应用。但回调并不仅限于回调函数,可以有很多不同的现实方式。回调与其说是一种技术,不如说是一种编程思想,我们在各种计算机语言中都能看到它的踪影。我们以《回调的原理、实现与应用》一文中提到的需求为例,看看C++、JavaScript、Java等各种语言下回调的实现方式。 有一Person类,有年龄(age),体重(weight),身高(height)三个属性。现要对Person的一组对象进行排序,但并没有确定根据什么规则来排序,有时需要根据年龄进行排序,有时需要根据身高进行排序,有时可能是根据身高和体重的综合情况来排序,还有可能……阅读全文
posted @ 2015-01-07 22:59 思维与睿智 阅读(409) 评论(0) 编辑
摘要: 什么叫递归? 举一个通俗的例子: 有一个8俩重的苹果要你切成重量相等的若干份,每一份的重量不能大于1俩。你肯定会想到这样做: 1.第一刀先把一个苹果切成重量均等的2份A1和A2; 2.再把其中的一份A1切成重量均等的两份A11和A12, 把A2切成均等的两份A21和A22; 3.把A11切成均等的两份…… 4.直到每一小份都小于等于1俩为止。 以上的例子就是递归一个模型,把一个大的事物化成若干个小的事物,每一次使用的方法都相同。阅读全文
posted @ 2015-01-07 22:49 思维与睿智 阅读(320) 评论(0) 编辑
摘要: 迭代器(Iterator)是按照一定的顺序对一个或多个容器中的元素从前往遍历的一种机制,比如for循环就是一种最简单的迭代器,对一个数组的遍历也是一种的迭代遍历的过程。GOF给出的定义为:提供一种方法访问一个容器(container)对象中各个元素,而又不需暴露该对象的内部细节。迭代器有时也称为枚举器(Enumerator),其结构图如下: 迭代器结构图 迭代器其实就是维护一个当前的指针,这个指针可以指向当前的元素,可以返回当前所指向的元素,可以移到下一个元素的位置,通过这个指针可以遍历容器的所有元素。迭代器一般至少会有以下几种方法: First(); //将指针移至第一个位置或获得第一个元素 GetCurrent(); //获得当前所指向的元素 MoveNext(); //移至下一个元素阅读全文
posted @ 2015-01-07 22:33 思维与睿智 阅读(102) 评论(0) 编辑