【发布时间】:2014-03-03 21:10:18
【问题描述】:
我了解如何使用类似的 for 循环
for (x = 0 ; x<5 ; x++ ) { // some_code }
在 C++ 中,但是像这样的 for 循环呢
for x in y:
至少存在于python中
【问题讨论】:
-
您是在问,如何以相同的方式在 C++ 中迭代容器?
我了解如何使用类似的 for 循环
for (x = 0 ; x<5 ; x++ ) { // some_code }
在 C++ 中,但是像这样的 for 循环呢
for x in y:
至少存在于python中
【问题讨论】:
最接近的等价物是基于范围的 for 循环。例如,
auto y = {0, 1, 2, 3, 4, 5, 6};
for (auto i : y)
{
// do something with i
}
还有更多细节,但这些取决于您想要做什么。 C++ 的语义与 python 的完全不同。
【讨论】:
auto 的使用和基于范围的 for 循环都是 C++11。
在 C++ 中,您可以使用 std::for_each 来回答您的问题。 更多信息您可以找到here。
【讨论】:
for i in range(5) 循环将在[0, 1, 2, 3, 4] 中“查找”i,因此它在作为 C++ for (int i = 0; i < 5; ++i) 工作时非常相似。
【讨论】: