我知道這個循環的作品,我怎麼能在實際問題中使用它。但我想知道引擎蓋下發生了什麼。 我認爲該循環類似於常規的for循環中,例如C++ 11的範圍基於循環:它是如何真正發揮作用
for(int i = 0 ; i < 5 ; i ++){
// instructions
}
變量i只有一次初始化,所以我雖然,這是用於基於範圍循環相同。但是,如果我例如寫這樣的代碼:
for(const int x : vec) {
cout << x << endl;
}
編譯器可以讓我做這件事,但我不明白這是怎麼可能的。如果變量x是常量,那麼在每次迭代中x值如何變化都是不同的。
僅供參考它更接近'爲(自動ITER = vec.begin(!); ITER = vec.end(); ++ ITER)' – AndyG