gpt4 book ai didi

c++ - for循环的简写——C++中的语法糖(11)

转载 作者:IT老高 更新时间:2023-10-28 22:06:33 24 4
gpt4 key购买 nike

其实这是两个相关的问题。

我知道在 C++11 中有一种新的语法用于基于范围的 for 循环,形式如下:

//v is some container
for (auto &i: v){
// Do something with i
}

第一个问题:我如何推断我在这个循环中的哪个迭代? (假设我想在位置 j 处填充值为 j 的 vector )。

第二个问题:我想知道是否还有其他方法可以编写表单的循环

for (int i=0; i<100; i++) { ... }

我觉得这种写法有点麻烦,而且我经常这样做,我希望有一个更简洁的语法。类似的东西:

for(i in [0..99]){ ... }

会很棒。

对于这两个问题,我希望避免使用额外的库。

最佳答案

第一个答案:你不知道。你为了一个简单的目的使用了一个简单的构造;如果您有更复杂的需求,您将需要更复杂的东西。

第二个答案:您可以创建一个产生连续整数值的迭代器类型,以及一个提供这些整数范围的“容器”类型。除非你有充分的理由自己做,否则 Boost 有 such a thing :

#include <boost/range/irange.hpp>

for (int i : boost::irange(0,100)) {
// i goes from 0 to 99 inclusive
}

关于c++ - for循环的简写——C++中的语法糖(11),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29512963/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com