if 条件可以是 for 循环吗?

Can an if condition be a for loop?

只是想知道 if 语句的条件是否可以是 C++14 中的 for 循环。例如:

using namespace std;

if (for (int i = 0; i < 10; i++)){
    cout << "The number now is " << i << endl;
}

条件必须是可以评估为布尔值的东西(例如布尔文字,函数调用 returns 布尔值,随便你怎么说),或者可以转换为布尔值的东西,例如通过 bool() 类型转换运算符。 for 循环不会被评估为 anything。它只是一段代码,在特定条件下以特定方式运行。

所以不,您不能将 for 循环视为布尔表达式。这不是一个表达式。

如果您愿意,可以创建一个运行 for 循环然后 returns 布尔值的函数。然后,您可以将该函数调用的输出用作条件(例如 if (my_function()) {...})。