c++ - 循环整数范围的最简洁方法

标签 c++

自从 C++11 引入了基于范围的 for 循环 (range-based for in c++11),在整数范围内表示循环的最简洁方式是什么?

代替

for (int i=0; i<n; ++i)

我想写一些类似的东西

for (int i : range(0,n))

新标准是否支持此类内容?

更新:本文介绍了如何在 C++11 中实现范围生成器:Generator in C++

最佳答案

虽然 C++11 不提供,但您可以编写自己的 View 或使用 boost 中的 View :

#include <boost/range/irange.hpp>
#include <iostream>

int main(int argc, char **argv)
{
    for (auto i : boost::irange(1, 10))
        std::cout << i << "\n";
}

此外,Boost.Range包含一些更有趣的范围,结合新的 for 循环,您会发现它们非常有用。例如,您可以获得 reversed view .

关于c++ - 循环整数范围的最简洁方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15088900/

相关文章:

c++ - C++ 中的运算符优先级

c++ - 如何使用二进制搜索将所有重复的字符串打印在排序数组中?

c++ - 自动生成的顶点缓冲区和索引缓冲区不工作

c++ - 程序崩溃顺序排序程序

c++ - 第一个字符串元素的地址产生意外结果

c++ - 我在迭代 map 并更改其中的值时遇到问题

c++ - 后台模式下的gdb断点

c++ - 如何检查文件是否在 Windows 网络共享上?

c++ - 如何使用 istream_iterator 从 ifstream 读取带空格的字符串?

c++ - 从 Qt 应用程序运行命令行点程序不会产生任何输出,这是怎么回事?