首页 > 解决方案 > 基于类型未指定范围的循环如何在 C++ 中工作?

问题描述

我对 C++ 相当陌生。所以今天在解决一个问题时,我写了这样的代码 -

for(i : {1,2,3}) {
   cout << i << "\n";
}

它编译并运行得很好。过了一会儿,我注意到我没有为“i”指定任何类型,也没有显示任何错误。我想知道,C++ 是如何处理这个问题的?在内部为变量“i”设置了什么类型?

标签: c++

解决方案


您似乎正在使用不符合标准的编译器:基于范围的 for 循环而不指定变量类型

例如,gcc 似乎在 5.5 和 6.1 版本之间放弃了对这种非官方结构的支持:https ://godbolt.org/z/8CJGim


推荐阅读