C++ 对循环的范围感到困惑
对我来说,这并不能产生预期的结果:C++ 对循环的范围感到困惑,c++,ranged-loops,C++,Ranged Loops,对我来说,这并不能产生预期的结果: int main() { int i[12] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; for (auto v : i) std::cout << v << std::endl; for (auto v : i) v = v+1; for (auto v : i) std::cout << v &
int main() {
int i[12] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
for (auto v : i)
std::cout << v << std::endl;
for (auto v : i)
v = v+1;
for (auto v : i)
std::cout << v << std::endl;
return 0;
}
intmain(){
inti[12]={1,1,1,1,1,1,1,1,1,1,1,1};
用于(自动v:i)
std::cout在第二个循环中,autov:i
,v
是每个i
的副本
要更改i
值,您需要:
intmain(){
inti[12]={1,1,1,1,1,1,1,1,1,1,1,1};
用于(自动v:i)
std::cout在第二个循环中,autov:i
,v
是每个i
的副本
要更改i
值,您需要:
intmain(){
inti[12]={1,1,1,1,1,1,1,1,1,1,1,1};
用于(自动v:i)
std::cout@RikardRasmussen如果答案有帮助,你介意接受吗?当然!它告诉我还有6分钟等待。@RikardRasmussen如果答案有帮助,你介意接受吗?当然!它告诉我还有6分钟等待。
int main() {
int i[12] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
for (auto v : i)
std::cout << v << std::endl;
for (auto& v : i) // Add "&" here. Now each v is a reference of i.
v = v + 1;
for (auto v : i)
std::cout << v << std::endl;
return 0;
}