如何替换从 Visual C++ 用户收到的非标准“foreach”

问题描述 投票:0回答:1

Visual Studio 在对 C++17 及更早版本的支持中支持 C++11 之前的非标准

for each
。我从使用 Visual Studio 的用户那里收到这样的代码,并希望将其替换为标准 C++:

#include <vector>

int main(int argc, char *argv[])
{
  std::vector<int> v{};
  for each(auto i in v){ }
  return 0;
}

什么是

for each
的合适替代品?我想应该是
for (auto i : v)
for (auto& i : v)
for (const auto& i : v)

c++ visual-studio c++11 foreach
1个回答
0
投票

来自文档:对于每个,在

首选使用标准的基于范围的语句 (C++), 相反。

当标识符为Tracking Reference Operator时,可以修改 元素。

对于本机 C++,对于每个(v 中的 auto i)
i 是向量元素的副本

for (auto i : v)
© www.soinside.com 2019 - 2024. All rights reserved.