![]() |
1
2
如果您想要您最初要求的通用生成器(而不是稍后添加的更简单的用例),那么 是 可以这样设置:
如果你有C++ 17(如果你不使用,那么手动使用Boost或只是跟踪有效性)。使用这个函数所需的begin/end函数
现在要一个合适的函数
|
![]() |
2
4
你应该使用C++习惯用法:前向迭代器。这让您使用C++语法糖并支持标准库。下面是一个简单的例子:
或与新的范围循环:
|
![]() |
3
2
所以生成器必须实现它们。
|
![]() |
4
1
您描述的用例(范围的串联等)可能会证明对库的依赖性是合理的,因此这里有一个基于 range-v3 ,在它进入C++ 20的途中。你可以很容易地迭代积分值,从0到10,步长为2,
或者用浮点值实现类似的循环(注意这里的[from,to]是一个闭合范围,第三个参数表示步数)
当涉及到连接时,库开始发光:
注意,上面的代码段是用
|
![]() |
AstralHex · 矩阵乘法代码工作不正常 4 月前 |
![]() |
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 4 月前 |
![]() |
Die4Toast · 递归调用成员箭头运算符-> 4 月前 |
![]() |
Anka Hanım · 关于结构和动态数组地址的问题 4 月前 |