|
|
1
2
如果您想要您最初要求的通用生成器(而不是稍后添加的更简单的用例),那么 是 可以这样设置:
如果你有C++ 17(如果你不使用,那么手动使用Boost或只是跟踪有效性)。使用这个函数所需的begin/end函数
现在要一个合适的函数
|
|
|
2
4
你应该使用C++习惯用法:前向迭代器。这让您使用C++语法糖并支持标准库。下面是一个简单的例子:
或与新的范围循环:
|
|
|
3
2
所以生成器必须实现它们。
|
|
|
4
1
您描述的用例(范围的串联等)可能会证明对库的依赖性是合理的,因此这里有一个基于 range-v3 ,在它进入C++ 20的途中。你可以很容易地迭代积分值,从0到10,步长为2,
或者用浮点值实现类似的循环(注意这里的[from,to]是一个闭合范围,第三个参数表示步数)
当涉及到连接时,库开始发光:
注意,上面的代码段是用
|
|
|
Julia · 矢量中相加为总和S的值的数量 3 年前 |
|
|
apetrai · 我应该如何假设算法使用哪种迭代器类别? 3 年前 |
|
|
Pratik · 不使用Java DeepCopy迭代器 8 年前 |
|
|
PanDe · 将两个列表合并为一个Dict、Tuple 8 年前 |
|
|
bisarch · 迭代哈希集并在每次迭代中删除多个元素 8 年前 |