首先请大家思考一个问题:以下6个问题可否共享一段代码?

平面设计培训,网页设计培训,美工培训,游戏开发,动画培训

  答案是肯定的。采用泛型编程对问题进行抽象,抽取出以上问题的共性即算法(algorithm)、容器(container)和迭代器(itera),这也是STL(Standard Template Library, 标准模板库)的三要素

平面设计培训,网页设计培训,美工培训,游戏开发,动画培训

 1 template <class Iterator, class Act, class Test> 2  3 void process(Iterator begin, Iterator end, Act act, Test test) 4  5 //对容器中在给定范围内(即起于begin止于end)所有满足给定条件的元素进行处理 6  7 { 8  9     for (; begin != end; ++begin)   //从头至尾遍历容器内的元素10 11         if (test(*begin))   act(*begin);  //若当前元素满足条件,则对其采取行动12 13 }

网友评论