c++ - 这是一个有效的 for 循环吗?

标签 c++ c++11 for-loop

我目前正在学习 C++,但我无法理解 for 循环的这种语法。

我知道 for(<T>: <V>) (for-each)和标准 for(init; cond; incr)但我之前没有遇到过以下内容

for (char ch; cin>>ch && !isdigit(ch); )

如果有人能阐明它,将不胜感激!

最佳答案

for (char ch; cin>>ch && !isdigit(ch);    )
     ^^ A ^^  ^^^^^^^^ B ^^^^^^^^^^^^ ^ C ^

A:是初始化部分,但在这种情况下,它只声明了一个名为 ch
char B:条件部分是否在每次迭代时执行

  • 它开始将单个字符作为输入,然后如果不是数字则继续循环

C:是增量部分但为空,条件部分依赖于获取下一个输入(即增量)并导致循环终止

关于c++ - 这是一个有效的 for 循环吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32782142/

相关文章:

python - 列表打印未按需要进行。制作的图案是逆时针90度

c++ - 通过GPU读取多个.dat文件

c++ - 使用 QPainter 在像素图上绘制带阴影的文本

c++11 - 将 std::shared_ptr<T> 转换为 void*

qt - 接口(interface)类纯虚信号的连接

c++模板函数参数推导和函数解析

c++ - 严格的别名似乎不一致

c++ - Nan::TryCatch 不会拦截 JS 代码中 Nan::Callback 抛出的异常

在 for 循环中创建的组合框中的 python tkinter 引用

c# - 令人困惑的for循环C#