【发布时间】:2017-04-01 21:38:54
【问题描述】:
我需要一个容器,它只使用范围的第一个和最后一个值进行初始化。
我需要一个如下所示的容器:
range<int> myRange(first, last, bound);
int occur=myRange.count(r%5==0 && r%10!=0);
bound 将定义容器内迭代期间对象之间的距离。例如,如果first=0、last=10 和bound=1 将在从first 到last 的每个整数上执行迭代。如果bound=2,将在 {0,2,4,6,8,10} 内执行迭代。但大小为 2; myRange[0]=first 和 myRange[1]=last。
简而言之,允许迭代不存在的对象的容器。迭代 first、first+bound、first+2*bound、first+n*bound,直到到达最后一个元素。我不想使用数组。
count() 方法将返回给定条件下return true 范围内的对象数。
N.B.我是初学者,所以如果有解决方案,请至少详细说明 :) 感谢您抽出宝贵时间;)
【问题讨论】:
-
根据定义,它不是一个容器。它是一个范围。
-
我已经搜索范围,但什么也没找到。
-
谢谢,我会去那个网站看看@NickyC
标签: c++ algorithm performance stl containers