【问题标题】:for loop : C++ and pythonfor 循环:C++ 和 python
【发布时间】:2014-03-03 21:10:18
【问题描述】:

我了解如何使用类似的 for 循环

for (x = 0 ; x<5 ; x++ ) { // some_code }

在 C++ 中,但是像这样的 for 循环呢

for x in y:

至少存在于python中

【问题讨论】:

  • 您是在问,如何以相同的方式在 C++ 中迭代容器?

标签: python c++ for-loop


【解决方案1】:

最接近的等价物是基于范围的 for 循环。例如,

auto y = {0, 1, 2, 3, 4, 5, 6};

for (auto i : y)
{
  // do something with i
}

还有更多细节,但这些取决于您想要做什么。 C++ 的语义与 python 的完全不同。

【讨论】:

  • @SethMMorton 是的,auto 的使用和基于范围的 for 循环都是 C++11。
【解决方案2】:

在 C++ 中,您可以使用 std::for_each 来回答您的问题。 更多信息您可以找到here

【讨论】:

    【解决方案3】:

    for i in range(5) 循环将在[0, 1, 2, 3, 4] 中“查找”i,因此它在作为 C++ for (int i = 0; i &lt; 5; ++i) 工作时非常相似。

    【讨论】:

    • 我认为这并不重要。有一个关于如何在 python 中使用 for 循环的问题,我使用的示例更清楚我认为,因为 y 将是一个集合,不是吗?
    • 当然很重要,因为你展示的 C++ 循环只有在你有一个整数序列 0, 1, 2, ... 时才等同于 python 循环
    • 这就是我使用上面例子的原因。快速思考:@user2803490 获得了 C/C++ 循环,所以我的示例可能会帮助他理解这个想法。
    猜你喜欢
    • 1970-01-01
    • 2021-10-15
    • 2022-10-20
    • 1970-01-01
    • 2011-07-15
    • 1970-01-01
    • 2022-06-28
    • 1970-01-01
    相关资源
    最近更新 更多