c++ - `closed_iota` 和 `iota` 之间的区别?
问题描述
range-v3 库中的closed_iota
和有什么区别?iota
解决方案
第二个遵循标准 C++ 表示范围的方式 - 默认为右侧开放范围。第一个是包容性的。
iota
接受两个参数:start
和end
. 它产生从start
到end
不包括的元素end
。
closed_iota
接受两个参数:start
和end
. 它产生从start
到end
包含 end
价值的元素。
示例:iota(1, 5)
表示由 组成的范围{1, 2, 3, 4}
,并且closed_iota(1, 5)
表示由 组成的范围{1, 2, 3, 4, 5}
。
您需要它们两个,因为默认情况下,我们希望事物是右侧排他的,但有时您需要整个值范围。在这种情况下,您需要closed_iota
.
但是,存在不一致之处 - 查看std::uniform_xxx_distribution
s。
推荐阅读
- c - C 预处理器如何从宏到结构定义
- python - 如何使用 ThreadPoolExecutor 测试并发性?
- sql - 创建一个传入外键的循环函数
- html - 带有悬挂缩进的内联描述列表
- reactjs - package.json 中的主页属性
- python - Python:线图 - 在 X 轴上格式化日期?
- python - ModuleNotFoundError:在 Windows 虚拟环境中尝试使用 Pytest 和 Flask 创建测试时没有名为“app”的模块
- javascript - 为什么我们在函数中传递匿名参数?
- performance - 使用“isSomething”的最佳方式是什么?
- ios - 表格视图不显示任何内容?